从RazorView对象获取模型类型

时间:2012-03-18 19:11:44

标签: asp.net-mvc reflection razor

我有一个System.Web.Mvc.RazorView对象,在cshtml中是强类型的。

我可以从这个类的实例中获取模型类型吗?

2 个答案:

答案 0 :(得分:3)

这是可能的。

调用BuildManager.GetCompiledType(view.ViewPath)以获取通过编译视图生成的类型 您可以通过检查已编译类型的基类型的泛型参数(应该是WebViewPage<TModel>)来找到模型类型

答案 1 :(得分:1)

没有办法让模型只给出System.Web.Mvc.RazorView的实例。它在RenderView方法中可用,该方法传递ViewContext,但从外部无法访问它。但如果您在视图中,则可以使用Model属性。