在ASP.NET MVC应用程序中浏览多个视图时保留视图中的数据

在ASP.NET MVC应用程序中浏览多个视图时保留视图中的数据,asp.net,asp.net-mvc,views,retain,Asp.net,Asp.net Mvc,Views,Retain,我的ASP.NET MVC应用程序中有5个视图。一些数据是从这些视图中捕获的,我正在使用两个按钮浏览这些视图:上一个和下一个按钮 因此,我在视图1中填写数据,然后转到视图2并在那里输入数据,依此类推。。直到视图5 现在的问题是:如果我再次回到以前的视图,如何保留在该特定视图中输入的数据 此外,我希望在完成向所有5个视图输入数据后,一次提交所有5个视图中的数据 最好的方法是什么?如果您只想在所有页面填满后提交内容,则可能需要将输入的数据存储到客户端计算机上的cookie中。可以使用javascri

我的ASP.NET MVC应用程序中有5个视图。一些数据是从这些视图中捕获的,我正在使用两个按钮浏览这些视图:上一个和下一个按钮

因此,我在视图1中填写数据,然后转到视图2并在那里输入数据,依此类推。。直到视图5

现在的问题是:如果我再次回到以前的视图,如何保留在该特定视图中输入的数据

此外,我希望在完成向所有5个视图输入数据后,一次提交所有5个视图中的数据


最好的方法是什么?

如果您只想在所有页面填满后提交内容,则可能需要将输入的数据存储到客户端计算机上的cookie中。可以使用javascript执行此操作:


我可以想出一些解决您问题的方法。您可以创建一个包含多个“面板”的视图,这些面板是隐藏的还是显示的,这取决于您在流程中所处的步骤,如向导控件。你可以试着用饼干,但那不是很干净。理想情况下,您可以接受MVC模式的无状态性以及视图是模型视图这一事实,并在每个页面发回控制器时更新您的模型,并在页面之间持久化模型(无论您如何选择)


如果您不想在流程完成之前保留任何内容,那么简单性可能会让我建议使用“向导”方法。我相信jQuery可以帮助您解决这个问题。

如果可以将所有表单放在一个视图中,并且您正在使用jQuery,我强烈建议您检查以下内容:您可以在“页面之间持久化模型(无论您选择什么)”上探索更多信息吗一旦我为一个视图更新了模型,如何从模型中获取数据?当你从一个页面移动到另一个页面时,你可以使用Html.ActionLink助手方法来构建一个链接,该链接将唯一的引用(可能是模型中当前记录的记录键)传递到下一个页面,即Html.ActionLink(“page2”,id=model.id)。使用visualstudio中新的MVC项目中常见的基本路由,您将获得控制器/Action/ID路径,该路径将涵盖上述示例。我推荐史蒂文·桑德森(Steven Sanderson)关于ASP.NET MVC的书还不够()