[英]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.