我正在开发一个ASP.NET MVC 2应用程序,并且正在努力从我的一个页面中的对话窗口中获得所需的行为。可以把它想象成Visual Studio中的“添加新项”窗口。
当用户单击主页面上的按钮时,我使用jQuery对话框插件显示包含表单的部分视图。局部视图是强类型,Model类中使用DataAnotations来定义验证规则。当用户使用有效数据提交表单时,我会导航到另一个页面。
以下是我的问题:
我尝试启用表单的AJAX发布(使用jQuery表单插件),但没有使用DataAnnotations的jQuery验证,我回到原点(加上我必须弄清楚如何在成功提交时重定向页面)。
我不能成为第一个尝试在需要验证的jQuery对话框中显示包含表单的局部视图的人。非常感谢任何帮助,因为我已经失去了整整一天试图寻找解决方案。
答案 0 :(得分:1)
因为您正在使用Javascript弹出窗口并将数据发送到服务器,所以我建议您使用Ajax。所以它将按预期工作。如果用户单击保存,则表示您的弹出窗体已在客户端上提交并保存和关闭(并且很可能刷新弹出窗口的主页)。
反正。 This blog post不会完全回答您的问题,但它可以让您在使用更合适的Ajax请求时处理模型验证错误。它详细解释了这个问题,并提供了可以按原样使用的代码。
关于HTTP重定向,它有点复杂,因为浏览器以不同的方式执行这些操作。无论如何。不同的stackoverflow question会尝试回答这个问题。