【问题标题】:How to change default MVC layout page如何更改默认 MVC 布局页面
【发布时间】:2015-03-07 05:50:30
【问题描述】:

我正在做一些开发,需要在 MVC 中实现登录表单。 我已经在 VS2013 中创建了一个 MVC 项目,它工作正常。在创建它时,VS 已经包含了使用登录以及注册视图的表单和配置。

这里的问题是该视图使用 layout.cshtml 文件作为母版页。因此,如果我将 [Authorize] 属性放在控制器内部的方法中,那么在运行网站时会发生什么,它会显示登录页面,这是可以的。但是使用 layout.cshtml 作为母版页。

有没有办法不使用 layout.cshtml 在整个窗口中显示 LogIn.cshtml 页面?

在 web.config 我有:

<authentication mode="Forms">
      <forms loginUrl="Account/Login" timeout="2880" />
    </authentication>

但它不起作用

【问题讨论】:

  • 您必须创建一个新的登录页面并将其设置为控制器操作方法中的视图页面。这样做您可以单独为登录视图创建一个单独的布局页面。 HTH

标签: c# asp.net asp.net-mvc asp.net-mvc-4 razor


【解决方案1】:

按照惯例,应用到Login.cshtml 的布局是从_ViewStart.cshtml 获取的。

@{
   Layout = "~/Views/Shared/_Layout.cshtml";
}

如果您不想使用它,请添加一个

@{
    Layout = null;
}

@{
    Layout = "SomeOtherMaster.cshtml";
}

到 Login.cshtml 页面。

但是,通过更改布局,您将更改所有脚本和 css 引用,因此您需要添加自己的。你应该签入/Views/Shared/_Layout.cshtml 看看你会放弃什么。

【讨论】:

  • 感谢您的帮助。尝试该代码后,它按注释工作。现在,我面临着一些细节,有以下情况。我希望出现的第一页是登录页面(作为启动屏幕)并且用户登录,系统将他/她重定向到将充当母版页的视图。我正在努力,但到目前为止还没有成功
猜你喜欢
  • 2011-12-06
  • 1970-01-01
  • 2011-05-10
  • 2017-07-11
  • 2014-10-22
  • 2022-09-27
  • 1970-01-01
  • 2012-06-20
  • 1970-01-01
相关资源
最近更新 更多