Можно ли установить MasterType программно? - PullRequest
6 голосов
/ 12 февраля 2010

Страница может иметь атрибут MasterType, чтобы Page.Master был строго напечатан:

<%@ MasterType VirtualPath="~/Site.master" %>

Если все мои страницы наследуют определенный класс, унаследованный System.Web.UI.Page, могу ли я когда-нибудь получить доступ к свойству this.Master, чтобы я мог вызывать методы мастер-страницы?

1 Ответ

6 голосов
/ 12 февраля 2010

В вашем базовом классе, от которого наследуются все страницы, просто переопределите свойство Master, примерно так:

public new SiteMaster Master
{
  get { return base.Master as SiteMaster ; }
}

или собственный вариант Абатищева:

public new ISiteMaster Master
{
  get { return base.Master as ISiteMaster; }
}
...