我有一个使用ASP.NET MVC构建的整个Web,并且有一个指定布局的_ViewStart.cshtml页面。
这对我的整个网站都很有用。然而,我有一个原型静态HTML页面,我只需要转储到一个目录。
我将HTML复制到一个CSHTML文件中,并将其置于控制器的前端。问题是,当我进入这个页面时,它使用的是布局。
我如何配置它,这样我就可以在没有_ViewStart布局的情况下将这个页面作为静态的、独立的内容提供服务。
发布于 2017-10-19 12:24:31
默认情况下,所有视图都将使用来自~/Views/Shared的布局,因为它是在_Viewstart.cshtml文件中指定的。每次执行视图时,都会执行_Viewstart.cshtml中的代码,这将设置视图的布局。
如果不希望执行/包括特定视图的布局,可以在视图上显式地将布局设置为null。将以下代码添加到视图中。
@{
Layout = null;
}记住,即使cshtml文件中是静态的html,用户也不会/不应该直接访问这个视图(就像普通的html页面/htm页面)。它必须通过一个返回此cshtml视图的操作方法进行路由。
另一个选项是使用PartialView方法而不是View方法。当使用PartialView方法呈现视图时,框架不运行_ViewStart.cshtml,因此得到相同的结果。
public ActionResult About()
{
return PartialView();
}当您希望呈现页面部分的标记时,PartialView非常方便(Ex :内容用于模态对话框等)
发布于 2017-10-19 12:29:25
在静态视图页面中,设置layout = null。喜欢:@{Layout = null;}
https://stackoverflow.com/questions/46829785
复制相似问题