簡體   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