2012-04-26 41 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在多个回发中保持状态。