我的 ASP.NET MVC 应用程序中有 5 个视图。从这些视图中捕获了一些数据,我使用 2 个按钮在这些视图中导航:上一个和下一个按钮。
所以我在视图 1 中填写数据,然后转到视图 2 并在那里输入数据,依此类推......直到视图 5。
现在的问题是:如果我再次回到以前的视图,如何保留在该特定视图中输入的数据。
另外,一旦我完成向所有 5 个视图输入数据,我想一次提交来自所有 5 个视图的数据。
最好的方法是什么?
我的 ASP.NET MVC 应用程序中有 5 个视图。从这些视图中捕获了一些数据,我使用 2 个按钮在这些视图中导航:上一个和下一个按钮。
所以我在视图 1 中填写数据,然后转到视图 2 并在那里输入数据,依此类推......直到视图 5。
现在的问题是:如果我再次回到以前的视图,如何保留在该特定视图中输入的数据。
另外,一旦我完成向所有 5 个视图输入数据,我想一次提交来自所有 5 个视图的数据。
最好的方法是什么?
我可以想出多种方法来解决您的问题。您可以创建具有多个“面板”的单个视图,这些面板根据您在流程中所处的步骤隐藏或显示,例如向导控件。您可以尝试使用 cookie,但这不是很干净。理想情况下,您接受 MVC 模式的无状态以及 View 是 Model 的视图这一事实,并在每个页面回发到 Controller 时更新您的 Model,并在页面之间保留 Model(无论您选择如何)。
如果您不想在过程完成之前坚持任何事情,简单性可能会导致我建议使用“向导”方法。我确信 jQuery 可以帮助你解决这个问题。
如果您只想在所有页面都填满后提交内容,您可能需要将输入的数据存储到客户端计算机上的 cookie 中。您可以使用 javascript 执行此操作: