Asp.net mvc 4 如何使下拉列表等记住它们在MVC4中后续页面加载中最后选择的值

Asp.net mvc 4 如何使下拉列表等记住它们在MVC4中后续页面加载中最后选择的值,asp.net-mvc-4,Asp.net Mvc 4,我们在仪表板中有一个多步骤的调查表。有时用户开始填写表单,分心,然后单击仪表板上的某个按钮,将他们带到站点的其他位置。然后,当他们单击“上一步”按钮时,他们在表单中已经填写的内容就消失了 有没有办法确保他们回来时表格一直填写?在ASP.NET webforms中,我将值放入会话对象中,并在页面加载时填充调查表单。我应该如何用MVC4解决这个问题?当select onChange()事件触发时,您可以将值保存到cookie或运行一些ajax。谢谢@KevDevMan。猜一下,在用户工作的过程中,启

我们在仪表板中有一个多步骤的调查表。有时用户开始填写表单,分心,然后单击仪表板上的某个按钮,将他们带到站点的其他位置。然后,当他们单击“上一步”按钮时,他们在表单中已经填写的内容就消失了


有没有办法确保他们回来时表格一直填写?在ASP.NET webforms中,我将值放入会话对象中,并在页面加载时填充调查表单。我应该如何用MVC4解决这个问题?

当select onChange()事件触发时,您可以将值保存到cookie或运行一些ajax。谢谢@KevDevMan。猜一下,在用户工作的过程中,启动ajax以保存每个答案。ajax是否应该转到控制器或web api(或WCF或其他变体)?我理解上述所有的机制,但不确定在MVC世界中处理此类场景的最佳实践是什么?就最佳设计实践而言,所有这些方法都是等效的吗?将ajax发送到何处取决于您的设置。您可以将其发送到任何层。如果您使用的是API/knockout或等效的API,那么您可以将其发送到API,也可以将其发送到MVC控制器。在设计术语中,您确实不希望在更改时保存每一个输入。我建议您在用户单击“下一步”或“上一步”时为多步骤调查的每个步骤进行保存。最佳做法是尽可能多地给您的服务器打几个电话。谢谢@KevDevMan,我感谢您的建议。最后,我将Ajax发送给控制器,控制器将调查结果保存在会话对象中。如果会话在进一步的测试中被证明过于昂贵,我将尝试保存到tempdb或cookie等。我将调查放在部分视图中,以便它能够在表单提交时刷新自己,从而消除了页面加载客户端代码的需要。