2014-09-24 27 views
-2

我想知道.cshtml文件中的代碼屬於哪類,以便我可以跟蹤更高的層次結構。所以我的問題是.cshtml文件中的代碼屬於哪個類?

到.cshtml文件中的代碼屬於哪個類?

+0

文件不屬於類。如果你真的在問他們從哪個類繼承而來,這取決於你如何編譯它們。 – SLaks 2014-09-24 19:57:41

+5

http://blog.slaks.net/2011/01/dissecting-razor-part-1-pieces-of.html – SLaks 2014-09-24 19:58:02

+0

我認爲這本書很有用:編程微軟 ASP.NET MVC,第三 版本 – 2014-09-25 05:01:06

回答

1

.cshtml擴展如果對於使用剃鬚刀視圖引擎的MVC視圖。因此,如果您想知道您的視圖的Model類是什麼,請查找應位於文件頂部的@model指令。即:

@model MyNamespace.MyModel

現在,如果你想知道什麼類視圖從在.NET Framework繼承什麼。我認爲最接近它的是System.Web.Mvc.ViewResult類。但請記住,在MVC View引擎中,View代碼和ViewResult之間沒有直接關係。有點像.aspx文件和類背後的代碼之間的關係。這是一個很好的開始:http://msdn.microsoft.com/en-us/library/system.web.webpages.webpage(v=vs.111).aspx

我希望這可以幫助你的問題。

1

如果我正確理解你的問題,那麼.cshtml文件不屬於一個類。 Razor View Engine通過控制器的return View()方法解析傳遞給它的視圖的內容。由於解析器引擎具有C#語義知識(以及VB),因此它能夠區分文本和C#代碼塊並進行適當的處​​理。

如果您對視圖引擎的工作方式有了更深入的瞭解,那麼我可能會建議您考慮構建自己的簡單視圖引擎,這樣做的任務是理解視圖內部工作方式的好方法發動機工作。