在ASP.NET MVC中,为什么我不能从"MyCustomView"继承而不指定完整的类型名称?

Set*_*son 7 asp.net-mvc

在我的MVC应用程序中,我通常声明一个基本视图类型,我的所有视图都继承自该类型.当我Inherits="MyView"在页面声明中指定时,我得到一个解析器错误,但如果我指定则不会Inherits="MyApp.Web.Views.MyView".

奇怪的是,如果我指定一个强类型视图名称可以正常工作 :( Inherits="MyView<T>其中T是任何有效类型).

为什么我可以指定没有完整类型名称但不是通用视图的强类型视图?

我的基本视图类声明如下:

namespace MyApp.Web.Views {
    public class MyView : MyView<object> {
    }

    public class MyView<TModel> : ViewPage<TModel> where TModel : class {
    }
}
Run Code Online (Sandbox Code Playgroud)

更新:请注意,我通过web.config中导入MyApp.Web.Views.如果我没有,那么强类型方法(Inherits="MyView<T>")也不会起作用.

小智 1

来自另一篇文章:这是根本问题:ASP.NET 页面解析器不支持泛型作为页面类型

在此处阅读更多信息 -通用继承 ViewPage<> 和新属性