Razor的模板文件.cshtml会在运行时被编译为一个C#的class,基类为WebViewPage。
也就是说在cshtml中选中一个变量,比如说@Html 然后按F12. 会跳到WebViewPage的类定义中。
?我在下载了MVC的源码,并把web工程中的引用指向源码的工程后,再在cshtml中F12过去的话,就跑到WebPage类中去了。困扰了好久,发现是个bug。正常引用官方的MVC dll的话是正常的。
?
解决问题的办法是在你的cshtml中显式指定BaseView,像这样:
@inherits System.Web.Mvc.WebViewPage<YourModel>
?