给定ASP.Net MVC中的强类型视图,是否可以引用用于声明视图的类型参数?我可以在MVC视图中引用类型参数吗?
例如,如果一个页面被声明为
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<MyProject.MyViewModel>" %>
是有可能引用类型参数中ViewPage<TModel>
?
我知道我可以做Model.GetType()
但我有一种情况,我有一个视图模型派生自另一个,并使用相同的观点。我现在有喜欢
<% if (Model.GetType().IsSubclassOf(typeof(MyViewModel)))
{ %>
行如果视图被用来显示派生模型来检测,但我希望能够做到这一点,而不硬编码typeof(...)
电话。
我要像做Model.GetType().IsSubclassOf(typeof(TModel))
你会怎么其他人来做,没有硬编码'MyViewModel'。即使你可以引用类型参数,你仍然会这样做:if(TModel是typeof(MyViewModel)...“那样的事情。如果你真的想走在这条路上,你可以在'Type'的变量中传递你想检查的类型。 – gideon 2011-03-29 04:16:21
@giddy:我想做类似Model.GetType()。IsSubclassOf(typeof(TModel)) – 2011-03-29 04:20:38