Подтвердить что ты не робот

Класс базового представления ASP.NET MVC

Я могу иметь базовый класс для представлений в проекте MVC следующим образом:

public class BaseViewPage : System.Web.Mvc.ViewPage
{
  public string Something { get; set; }
}

И затем в ASPX я могу это сделать:

<%@ Page Something="foo" Language="C#" Inherits="MyNamespace.BaseViewPage" %>

Это прекрасно работает; проблема в том, что я пытаюсь сделать то же самое с общей версией:

public class BaseViewPage<TModel> : 
    System.Web.Mvc.ViewPage<TModel> where TModel : class
{
  public string Something { get; set; }
}

Когда я пытаюсь использовать это из ASPX, вот так:

<%@ Page Something="foo" Language="C#" 
    Inherits="MyNamespace.BaseViewPage<SomeClass>" %>

Я получаю сообщение об ошибке:

Ошибка синтаксического анализа атрибута "something": Тип "System.Web.Mvc.ViewPage" не имеет открытого свойства с именем "something".

Обратите внимание, как он пытается использовать System.Web.Mvc.ViewPage, а не мой класс BaseViewPage. Чтобы сделать его более интересным, если я удалю атрибут "Что-то" из директивы "Страница" и поместил некоторый код в общую версию BaseViewPage (например, OnInit), класс фактически вызывается/используется/создается.

Итак, я делаю что-то неправильно или это ограничение/ошибка? Спасибо.

4b9b3361