2013-07-15 92 views
1

這只是我的第二個星期的ASP.NET MVC如何將複雜的參數傳遞給控制器​​?

基本上我有一個名爲T_Users模式,在視圖頁面我創建了一個文本框,用於創建一個新的記錄到數據庫中,下面是代碼:

<th scope="row" class="spec">Row</th> 
<th scope="col" class ="nobg">@Html.TextBoxFor(A => A.Username)</th> 
<th scope="col" class ="nobg">@Html.PasswordFor(p => p.Password)</th> 
...    

它背後的控制器如何獲取值?顯然,通過/ xx/xx/ID不是一種有效的方式。

回答

1

如果您將表單發佈到Action,根據該表單的方法,您將獲得集合中的值。 例如:

HTML

<form action="SubmitAction" method="POST"> 
    <...> 
    <th scope="row" class="spec">Row</th> 
    <th scope="col" class ="nobg">@Html.TextBoxFor(A => A.Username)</th> 
    <th scope="col" class ="nobg">@Html.PasswordFor(p => p.Password)</th> 
    <.../> 

代碼

[HttpPost] 
      public ActionResult SubmitAction(UserInfo user) 
      { 
       var value1 = user.Username; 
       var value2 = user.Password; 
       ... 

       ... return something ... 
      } 

和模型

class UserInfo 
{ 
    public string Username { get; set; } 
    public string Password{ get; set; } 
} 
+0

這有助於後面! 一個非常小的問題,在

,我沒有看到@html的標準提交按鈕,我應該使用什麼標籤來提交表單? – LifeScript

+0

,表格內的任何地方 –

+0

工作正常!感謝您的快速解決方案!我真的很感激! – LifeScript

0

創建一個模型類來表示您的記錄:

class UserInfo 
{ 
    public string Username { get; set; } 
    public string Password{ get; set; } 
} 

現在創建一個HttpPost動作保存接受你的UserInfo類作爲參數:

[HttpPost] 
public ActionResult Save(Userinfo info) 
{ 
    //info should contain your username and password 
} 

請確保您的類屬性名完全匹配你的HTML表單中的名稱。

相關問題