我了解到,在ASP.Net MVC中,剃刀视图被编译成从System.Web.Mvc.WebViewPage类或其泛型版本派生出来的C#类。例如,如果我在控制器调用"Home“上有一个名为"Index”的视图,则剃刀解析器将构建一个类似于以下内容的C#类:
public class _Page_Views_Home_Index_cshtml : System.Web.Mvc.WebViewPage
{
public _Page_Views_Home_Index_cshtml()
{ }
public override void Execute()
{
...code that combines the razor C# code with the markup
}
}我想知道从剃须刀部分视图生成的C#类。特别是:
发布于 2013-02-22 05:27:48
使用ASP.NET、MVC和Razor,生成的“完整”视图和“部分”视图的代码没有任何区别。事实上,在MVC的Razor视图引擎中(或者在带有Razor的ASP.NET网页中)甚至不存在这样的概念。
唯一的小区别(在MVC中不存在)是,在ASP.NET网页中,一个以下划线开头的文件是不可直接服务的。例如,像~/page.cshtml这样的文件不能由web请求直接运行,而像~/page.cshtml这样的文件则是。但是即使在编译的代码中也没有区别--在ASP.NET网页的路由系统中,它拒绝提供以下划线开头的文件。
https://stackoverflow.com/questions/15016141
复制相似问题