2012-04-26 78 views
0

我簡單地使用mvc 3 devloping輸入表單。我有很多文本框,單選按鈕,標籤。所以雖然從視圖回發數據到控制器會丟失輸入的數據。如何保留所有回傳​​?有沒有mvc mechanisam默認可用?這意味着通過啓用一些屬性,我們可以命令mvc自行處理狀態?在MVC中保持狀態3

我不想發送viewdata對象來查看。除了mvc3中默認的機制是什麼?

更新:

@using (Html.BeginForm()) 
{ 
<table> 
    <tr> 
     <td> 

      @Html.TextBox("txtTitle") 
@Html.CheckBox("chkOption") 
     </td> 
     <td>    
      @Html.TextBox("txtDetails") 
@Html.DropDownList("drpList") 
     </td> 
     <td> 
      <input type="submit" value="Cancel" name="action" /> 
      <input type="submit" value="Create" name="action" /> 

     </td> 
    </tr> 
</table> 
} 

如何保持狀態,爲所有回發輸入和選擇價值?

+1

你能用一些你正在嘗試的代碼更新你的問題嗎?例如控制器和視圖?只是相關的部分。 – 2012-04-26 08:27:56

回答

1

看起來您需要創建一個Model並使用@Html.TextBoxFor()@Html.CheckBoxFor()@Html.DropdownListFor()方法代替模型的屬性。

然後,您將使用一個類似的命名操作方法,並使用[HttpPost]屬性和模型作爲參數進行修飾。然後,您將能夠對嘗試的表單提交進行驗證,並在表單狀態有效時處理該模型。

我會研究研究強類型的意見,模型,也許會通過一些在線教程。

下面的鏈接似乎是一個很好的教程,它只有幾頁長,但應該通過你需要的一切來開始。

http://www.asp.net/mvc/tutorials/getting-started-with-aspnet-mvc3/cs/intro-to-aspnet-mvc-3

+0

但我不應該與任何模型緊密耦合。所以如果不使用模型如何在回發中保持狀態? – 2012-04-27 03:32:35

+0

把它看作是一個視圖模型,一個對象圖,其唯一目的是提供視圖並將其與需要的數據綁定。這在MVC設計中是完全正確的,不會影響您可能擁有的任何預先存在的域模型/實體。否則,也許你應該使用'Session',但是你會錯過很多MVC的優點。 – 2012-04-27 08:01:52

2

您可以使用Session在多個回發中保持狀態。