Ajax登录动态弹出对话框

时间:2012-01-31 18:40:32

标签: asp.net-mvc asp.net-mvc-3 jquery-ui unobtrusive-validation unobtrusive-ajax

我认为这应该有很好的记录,因为它似乎是一种非常常见的情况。不幸的是,我发现有很多相互矛盾的信息,并且在MVC 3兼容,不引人注目的Ajax方式上找到正确的方法没有真正的共识。我当然可以将“有效”的东西混在一起,但我宁愿按照它应该通过框架的方式来做。

这就是我需要的。我在网站的右上角有登录链接。该站点允许经过身份验证和未经身份验证的用户。所以,当用户点击Login链接时,我希望有一个动态的ajax弹出窗口。

这应该转到控制器,然后撤回登录对话框的HTML。然后它应该显示在jquery ui弹出对话框中,当用户输入他们的信息时,它应该将它们重定向到“Dashboard”页面(无论他们当前在哪个页面上)。如果他们输入了错误的凭据,它应保留在当前页面上,弹出对话框仍然打开并显示验证错误(“用户名或密码不正确”)。

换句话说,它必须与mvc 3不显眼的验证相结合,并使用不显眼的ajax,并在jquery ui对话框中显示内容。

这似乎不像我想象的那么简单。任何指向这样做的例子的指针?任何人都有他们可以分享的样本吗?

更新:

传统观点认为,如果您需要重定向,请不要将其变为Ajax。但是,在这种情况下需要Ajax,因为我需要验证信用和发布验证错误,而不会导致页面刷新或重定向到不同的登录页面。我需要验证才能通过并在弹出对话框中发布错误。

3 个答案:

答案 0 :(得分:4)

看看MVC 4 Developer Preview。他们已在创建新应用程序时生成的框架应用程序中将登录和注册过程实现为弹出对话框。此预览中还有很多其他很酷的功能值得一试。这是弹出窗口的登录方式。它使用JQuery UI。

MVC 4 Developer Preview

答案 1 :(得分:4)

答案 2 :(得分:0)

关于MVC 4登录预览的观点是它可以在两种模式下使用。作为Ajax / jQuery弹出窗口或标准窗体。

确实有一个错误。它无法正确处理取消。