我有具有用於局部視圖的區域的頁面,是這樣的:根據通行證值至控制器
局部視圖改變在其上部分中的用戶是在通過一標籤菜單。對於每個選中的選項卡,局部視圖會更改。顯示的每個部分視圖都有可編輯的字段。包含在周圍視圖中的按鈕Save
和Cancel
總是相同的。
當用戶按下Save
,我要趕插入的值,我通過做其他的觀點:
HTML
<input type="text" name="phoneNumber">
C#
string phoneNumber = Request["phoneNumber"].ToString();
但是在這裏,當調試器遇到上述情況時,我一直收到一個空的異常C#行。
如何將部分視圖中的值傳遞給包含在input
中的控制器?
EDIT
這是我的代碼:在所述視圖中的輸入(按鈕)
<input type="submit" name="save" value="Save" onclick="location.href='@Url.Action("SaveChanges", "Config")'"/>
而SaveChanges
方法,在控制器中:
public ActionResult SaveChanges()
{
string phoneNumber = Request["phoneNumber"].ToString();
...
另外 ,我已經試過這個我的登錄表單,它工作正常:
<form method="get" action="../Main/Index">
<p>
<input type="text" name="username" maxlength="30"></p>
<p>
<input type="password" name="password" maxlength="25"></p>
<p class="submit">
<input type="submit" name="commit" value="Login"></p>
</form>
而且控制器(MainController)
public ActionResult Index()
{
getCredentials();
...
public void getCredentials()
{
if (Request["username"] != null && Request["password"] != null)
...
return View();
目前尚不清楚問題是什麼。表單發佈到什麼控制器動作?該帖子中是否包含「輸入」值? (另外,爲什麼使用'Request []'而不是動作方法參數?這會將代碼緊密地耦合到活動的HTTP實例。)該值不會「從部分視圖切換到控制器。」它通過HTTP請求從呈現的HTML表單到控制器。最初呈現客戶端標記的視圖在那時不再相關。 – David
你爲什麼不使用模型綁定? –
我不知道,但因爲我設法通過'Request'將視圖的值傳遞給控制器,所以我將採用相同的方法。我是新手,剛剛學習 – chiapa