Asp.net mvc 3 ASP.Net:逐步建立模型数据(MVC3)

Asp.net mvc 3 ASP.Net:逐步建立模型数据(MVC3),asp.net-mvc-3,Asp.net Mvc 3,我正试图建立一个登记表。我为用户的所有数据建立了一个模型,但问题是我希望表单是I“步骤”。填写两个参数,然后进入下一步 现在,我尝试了在每个步骤中返回模型的方法,并将先前填写的数据放在表单的隐藏字段中,但这会导致未填写的表单“触发”验证,因为我返回的模型中只有以前填写的数据可用。这不是很好,那么最好的方法是什么呢?作为小型应用程序的快速解决方案,您可以始终将模型存储在Session(或TempData)对象中: 对于较大的应用程序(取决于您的业务规则),我建议在完成每个表单时将值持久化到数据存储

我正试图建立一个登记表。我为用户的所有数据建立了一个模型,但问题是我希望表单是I“步骤”。填写两个参数,然后进入下一步


现在,我尝试了在每个步骤中返回模型的方法,并将先前填写的数据放在表单的隐藏字段中,但这会导致未填写的表单“触发”验证,因为我返回的模型中只有以前填写的数据可用。这不是很好,那么最好的方法是什么呢?

作为小型应用程序的快速解决方案,您可以始终将模型存储在Session(或TempData)对象中:

对于较大的应用程序(取决于您的业务规则),我建议在完成每个表单时将值持久化到数据存储中


请注意,这两种方法都需要权衡,具体取决于您的应用程序。

最好的方法是发送带有初始请求的“新”模型,并在运行时构建模型。这可以通过使用jQuery隐藏和显示表单的各个部分并将这些部分存储在模型中来轻松实现。模型完成后(注册的最后一步),应将完成的模型发送到服务器

<div id="Step1"><input type="submit" value="Step 2" /></div>

<div id="Step2"><input type="submit" value="Step 3" /></div>

<div id="Step3"><form><input type="submit" value="Finish" /></form></div>


jQuery显示/隐藏步骤和预防步骤1和2的默认设置

您需要返回服务器以获取每个步骤的附加信息,还是在初始加载时从服务器获得所需的所有信息?我想我将使用会话解决方案,我不希望我的站点需要JS。我认为JS只是为了额外的。。。
<div id="Step1"><input type="submit" value="Step 2" /></div>

<div id="Step2"><input type="submit" value="Step 3" /></div>

<div id="Step3"><form><input type="submit" value="Finish" /></form></div>