我认为这应该有很好的记录,因为这似乎是一个很常见的场景。不幸的是,我发现那里有很多相互矛盾的信息,并且对于以 MVC 3 兼容、不显眼的 Ajax 方式来解决这个问题的正确方法没有真正的共识。我当然可以拼凑一些“有效”的东西,但我宁愿按照它应该通过框架完成的方式来做。
这就是我需要的。我在网站的右上角有登录链接。该站点允许经过身份验证和未经身份验证的用户。所以,当用户单击登录链接时,我希望有一个动态的 ajax 弹出窗口。
这应该传给控制器,并拉回登录对话框的 HTML。然后它应该显示在 jquery ui 弹出对话框中,当用户输入他们的信息时,它应该将他们重定向到“仪表板”页面(无论他们当前在哪个页面上)。如果他们输入了错误的凭据,它应该停留在当前页面上,弹出对话框仍然打开并显示验证错误(“用户名或密码不正确”)。
换句话说,它必须绑定到 mvc 3 不显眼的验证并使用不显眼的 ajax,并在 jquery ui 对话框中显示内容。
这似乎没有我想象的那么简单。任何指向这样做的示例的指针?谁有样品可以分享?
更新:
传统观点是,如果您需要重定向,请不要使用 Ajax。但是,在这种情况下,需要 Ajax,因为我需要验证信用并发布验证错误,而不会导致页面刷新或重定向到不同的登录页面。我需要通过身份验证并在弹出对话框中发布错误。
