如何在ASP.NET MVC 2中跨多个请求持久化模型

时间:2011-01-03 21:20:41

标签: asp.net-mvc asp.net-mvc-2

我正在构建一个Web应用程序,它具有代表某些事件的特定模型。用户需要能够将N个人添加到给定事件中。选择人员是通​​过部分视图来处理的。

我正在尝试构建一个菜单,当用户点击“添加人员”到该事件时显示该菜单。由于事件尚未完全填写,因此数据库中没有任何内容可以在请求之间保留。

我在事件页面上也有验证逻辑。

我建议的解决方案是添加表单以在事件表单本身上搜索或添加人员,并有一个提交按钮,用于发送已添加回服务器的值,我可以将它们存储在ViewData或Session中。

不幸的是,这样做会标记验证。

我的第二个解决方案是加载部分视图,负责加载UI以添加/搜索某个人。我可以在控制器中的方法上添加一些代码,返回一个部分视图,将现有数据存储在会话变量或视图数据中。麻烦的是,我必须提交表格来做 - 再次绊倒验证!!!

我想知道是否我选择了错误的工具来执行此操作...因为在webforms中,可能会有回发,您只需对该回发执行操作。我想避免在webforms中重写应用程序,我想知道在ASP.NET MVC中是否有我忽视的方法。

提前感谢您的想法!

1 个答案:

答案 0 :(得分:1)

我可能会将部分视图发送到主页面(使用javascript)。这样,服务器只有一个帖子,并且当用户需要输入的所有数据都已填写完毕。你是如何显示局部视图的?它是在主页面上(在div中),还是单独的弹出窗口?无论哪种方式,您都应该能够使用javascript将这些数据存储在主页面上并一次发回所有数据。

HTH