![](/img/trans.png)
[英]Get access to property in custom WebViewPage from OnActionExecuting method ASP.NET MVC 5
[英]How is WebViewPage class transformed into html in ASP.Net MVC?
直到最近,我还认为ASP.Net视图是文件(例如.aspx或.cshtml),这些文件本身可以包含一些.Net代码,并使用视图引擎(例如razor或aspx)解析为发送到客户端的html文件。浏览器。 后来我发现这些视图实际上已转换为派生于System.Web.Mvc.WebViewPage
类的类。 除此之外,我注意到有些人将视图本身称为类。 所以我的问题是
在此处可以找到有关Razor视图处理过程的良好描述。
基本上,视图文件(在这种情况下为cshtml
)首先在该给定页面的第一个请求上转换为C#代码文件。 创建的类基本上将cshtml
所有非C#部分cshtml
为C#。 通常,它只是在视图的Execute
方法中写出HTML文字作为响应。
您还可以看到生成的C#类使用#line
指令来标记原始csproj
文件的行,以便您可以使用调试器单步执行原始代码并查看在何处引发了异常。
因此,是的,视图基本上是类(至少在首次访问它们之后才成为类),并且呈现是通过将视图的Execute
方法内的HTML文字写入响应流而引起的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.