2017-10-19 145 views
0

我有一个使用ASP.NET MVC构建的整个Web应用程序,并且有一个指定布局的_ViewStart.cshtml页面。ASP.NET MVC中不使用布局的静态HTML页面

这对我的整个网站很好。不过,我只需要将一个原型静态HTML页面转储到一个目录中。

我将HTML复制到CSHTML文件中,并将其与控制器配合使用。问题是,当我进入这个页面时,它正在使用布局。

如何配置它,以便我可以将此页作为静态,独立内容而不需要_ViewStart的布局?

回答

4

默认情况下,所有视图将使用~/Views/Shared中的布局,因为它在_Viewstart.cshtml文件中指定。每次执行视图时,将执行_Viewstart.cshtml中的代码,该代码将设置视图的布局。

如果您不想执行/包含特定视图的布局,则可以在视图上明确地将布局设置为null。将下面的代码添加到视图中。

@{ 
    Layout = null; 
} 

请记住,即使它是静态的HTML在你cshtml文件,用户将不能/不应该直接访问该视图(如一个普通的HTML页/ HTM页)。它必须通过返回此cshtml视图的操作方法进行路由。

另一种选择是使用PartialView方法代替View方法。当使用PartialView方法渲染视图时,框架不会运行_ViewStart.cshtml,因此您会得到相同的结果。

public ActionResult About() 
{ 
    return PartialView(); 
} 

PartialView是非常方便的,当你想渲染部分页面标记(例如:对于一个模式对话框等内容)

0

在静态视图组布局= NULL。 Like: @{Layout = null;}