asp.net mvc4中的弹出对话框发生了什么

时间:2013-01-24 15:46:24

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

我是mvc的新手,当它还处于测试版时我尝试了mvc4。我记得当我开始一个新的互联网项目时,默认情况下我有一个用于登录和注册的弹出对话框。当我开始一个新项目时,我没有看到,那是不是从互联网项目中消失了?

2 个答案:

答案 0 :(得分:1)

我相信你所指的弹出对话框只是示例项目过去使用的jQuery UI对话框:

Dialog

该项目的构建是为了支持对/Login的直接请求和一个通过jQuery UI对话框的请求,该对话框看起来像只是一个弹出窗口。它是通过使Login操作返回不同的View来实现此目的的,因为它是通过框架请求的,或者不是由查询字符串中的值检测到的。

你当然可以再次使用它,你只需要手动(或挖出一个较旧的模板),因为它不再是默认模板。

为了帮助你,这里有几个有些相关的问题,其中包含示例代码(ContextDependentView是我记得的一个模板),可能还有一些关于如何重新创建它的提示:

  1. Generating a modal jQuery partial view with MVC4 does not work
  2. ASP.NET MVC 4 and ContextDependentView
  3. MVC4 - ContextDependentView - What does it mean?

答案 1 :(得分:1)

它已从MVC 4的最终版本中的Internet项目模板中删除。弹出窗口很漂亮,但我想他们决定通过保留用于登录和注册的视图/页面来消除问题/复杂性。在具有弹出窗口的旧版本中,由于基于表单的身份验证的工作原理,它们仍然具有用于登录的视图/页面。如果用户未经过网站/页面的身份验证/授权,则MVC会重定向到登录页面。这不适用于同一页面上的JQuery弹出对话框。弹出窗口仅在您单击页面的登录链接时才有效。我猜他们决定,因为他们需要视图/页面登录,以简化事情并通过消除弹出对话框保持一致。

我已经实现了一个MVC Single Page Application (SPA),它只使用JQuery对话框弹出一个登录对话框,并且不需要登录页面。但它需要对服务器上的身份验证/授权过程进行大量自定义,并在客户端上使用basic authentication