In my MVC apps I normally declare a base view type that all of my views inherit from. I get a parser error when I specify Inherits="MyView"
in my Page declaration, but not if I specify Inherits="MyApp.Web.Views.MyView"
.
Strangely enough, it works fine if I specify a strongly typed view name: Inherits="MyView<T>
(where T is any valid type).
Why can I specify a strongly typed view without the full type name, but not a generic view?
My base view class is declared like this:
namespace MyApp.Web.Views {
public class MyView : MyView<object> {
}
public class MyView<TModel> : ViewPage<TModel> where TModel : class {
}
}
UPDATE: Note that I do import MyApp.Web.Views via web.config. If I did not, then the strongly typed approach (Inherits="MyView<T>"
) wouldn't work either.