繁体   English   中英

WebViewPage类如何在ASP.Net MVC中转换为html?

[英]How is WebViewPage class transformed into html in ASP.Net MVC?

直到最近,我还认为ASP.Net视图是文件(例如.aspx或.cshtml),这些文件本身可以包含一些.Net代码,并使用视图引擎(例如razor或aspx)解析为发送到客户端的html文件。浏览器。 后来我发现这些视图实际上已转换为派生于System.Web.Mvc.WebViewPage类的类。 除此之外,我注意到有些人将视图本身称为类。 所以我的问题是

  1. 如果将视图解析为一个类,那么该类如何呈现html文档?
  2. 可以说ASP.NET中的视图本身就是类,还是更像某种脚本,基于它们的视图引擎构成了实际的类?

此处可以找到有关Razor视图处理过程的良好描述。

基本上,视图文件(在这种情况下为cshtml )首先在该给定页面的第一个请求上转换为C#代码文件。 创建的类基本上将cshtml所有非C#部分cshtml为C#。 通常,它只是在视图的Execute方法中写出HTML文字作为响应。

您还可以看到生成的C#类使用#line指令来标记原始csproj文件的行,以便您可以使用调试器单步执行原始代码并查看在何处引发了异常。

因此,是的,视图基本上是类(至少在首次访问它们之后才成为类),并且呈现是通过将视图的Execute方法内的HTML文字写入响应流而引起的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM