C# ASP.NET MVC中不使用布局的静态HTML页面

C# ASP.NET MVC中不使用布局的静态HTML页面,c#,asp.net,asp.net-mvc,razor,C#,Asp.net,Asp.net Mvc,Razor,我有一个使用ASP.NET MVC构建的整个Web应用程序,还有一个指定布局的\u ViewStart.cshtml页面 这对我的整个网站非常有效。然而,我有一个单一的原型静态HTML页面,我只需要将其转储到一个目录中 我将HTML复制到CSHTML文件中,并使用控制器将其前置。问题是当我转到这个页面时,它使用的是布局 如何配置它,使我可以将此页面作为静态、独立的内容提供,而无需使用\u ViewStart中的布局 默认情况下,所有视图都将使用~/views/Shared中的布局,正如在\u V

我有一个使用ASP.NET MVC构建的整个Web应用程序,还有一个指定布局的
\u ViewStart.cshtml
页面

这对我的整个网站非常有效。然而,我有一个单一的原型静态HTML页面,我只需要将其转储到一个目录中

我将HTML复制到CSHTML文件中,并使用控制器将其前置。问题是当我转到这个页面时,它使用的是布局


如何配置它,使我可以将此页面作为静态、独立的内容提供,而无需使用
\u ViewStart
中的布局

默认情况下,所有视图都将使用
~/views/Shared
中的布局,正如在
\u Viewstart.cshtml
文件中指定的那样。每次执行视图时,都会执行
\u Viewstart.cshtml
中的代码,该代码设置视图的布局

@{
    Layout = null;
}
如果不希望执行/包含特定视图的布局,可以在视图上显式将布局设置为
null
。将以下代码添加到视图中

@{
    Layout = null;
}
请记住,即使在
cshtml
文件中是静态html,用户也不会/不应该直接访问此视图(如普通html页面/htm页面)。它必须通过返回此
cshtml
视图的操作方法进行路由

另一个选项是使用
PartialView
方法,而不是
View
方法。使用PartialView方法渲染视图时,框架不会运行
\u ViewStart.cshtml
,因此会得到相同的结果

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

当您想要呈现页面部分的标记时(例如:用于模式对话框等的内容)非常方便。

默认情况下,所有视图都将使用
~/views/Shared
中的布局,正如在
\u Viewstart.cshtml
文件中指定的那样。每次执行视图时,都会执行
\u Viewstart.cshtml
中的代码,该代码设置视图的布局

@{
    Layout = null;
}
如果不希望执行/包含特定视图的布局,可以在视图上显式将布局设置为
null
。将以下代码添加到视图中

@{
    Layout = null;
}
请记住,即使在
cshtml
文件中是静态html,用户也不会/不应该直接访问此视图(如普通html页面/htm页面)。它必须通过返回此
cshtml
视图的操作方法进行路由

另一个选项是使用
PartialView
方法,而不是
View
方法。使用PartialView方法渲染视图时,框架不会运行
\u ViewStart.cshtml
,因此会得到相同的结果

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

当您想在静态视图页面集layout=null中呈现页面部分的标记(例如:用于模式对话框的内容等)时,它非常方便。 比如:
@{Layout=null;}

在静态视图页面中设置Layout=null。 比如:
@{Layout=null;}