#c# #asp.net
#c# #asp.net
Вопрос:
есть ли переопределение PreInit на главной странице? или возможно наследование PreInit в MasterPage?
Ответ №1:
Если у вас есть базовый класс страницы для всех ваших страниц, вы можете применить следующее:
public partial class SiteMaster : System.Web.UI.MasterPage
{
private string _theme = "Custom";
public string Theme
{
get { return _theme; }
set { _theme = value; }
}
}
public class BasePage : System.Web.UI.Page
{
protected void Page_PreInit(object sender, EventArgs e)
{
var siteMaster = this.Master as SiteMaster;
if (siteMaster != null amp;amp; !string.IsNullOrEmpty(siteMaster.Theme))
{
Theme = siteMaster.Theme;
}
}
}
Ответ №2:
Вы не можете напрямую применить ASP.NET тема для главной страницы. Если вы добавите атрибут theme к директиве @ Master, страница выдаст сообщение об ошибке при запуске.
Однако в этих обстоятельствах темы применяются к основным страницам:
Если тема определена на странице содержимого. Основные страницы разрешаются в контексте страниц содержимого, поэтому тема страницы содержимого применяется и к главной странице.