ASP.NET MVC与jQuery SimpleModal和Ajax.BeginForm Helper

时间:2010-01-26 05:10:37

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

我有一点情况,我目前正在使用Jquery SimpleModal在我的网站上进行各种对话,例如登录对话框。

我也在做一个Ajax.BeginForm帮助器。

现在一切都很好,但是,我需要知道的是,当用户登录成功时,我需要做些什么来关闭模式...

我尝试了一些设置tempdata值等的东西..然后检查它通过jquery关闭模式或只是做一个windows.location来做重定向...然后模态就会消失。< / p>

如果我只是做一个redirectoAction,它会填充模态中的重定向动作内容,在这种情况下是它们返回的任何url。

感谢您的帮助..非常犹豫。

更新:我得到了它,所以它在成功时关闭模式,但是我现在遇到的问题是当用户要么只是点击提交而没有输入任何客户端验证不是工作和用户被重定向到构成该模态但没有模态的视图..所以基本上它只是没有网站其余部分的视图。

关于如何在输入正确信息之前将它们保持在该模态的任何想法?

2 个答案:

答案 0 :(得分:2)

我同意之前的评论,即在整个过程中使用Jquery会更简单。

我相信实现目标的最佳方法是将一个关闭对话框函数挂钩到AjaxForm的OnSuccess。

<% using(Ajax.BeginForm("UpdateForm", 
         new AjaxOptions{OnSuccess="CloseModal()"})) { %>

要关闭简单模态,您可以调用

function CloseModal() { $.modal.close(); }

希望这有帮助。

答案 1 :(得分:1)

你不能手动关闭它吗?

假设您的模态位于iframe中,请执行

$('#modal',top.document).remove()