Тема загрузки MasterPage
На asp.net C# я хочу сменить тему при загрузке страницы, это действие требует PreInit Event, которого у Masterpage нет. какое решение для этой проблемы?
Спасибо,
2 ответа
Одним из способов является создание модуля Http (блоги Рика ван ден Боша)
Помимо модуля, вы можете рассмотреть возможность наследования всех ваших страниц от базовой страницы, которая определяет PreInit и задает тему соответствующим образом.
Редактировать для комментария.
В этом нет ничего особенного, просто убедитесь, что создаваемые вами страницы наследуются от класса, аналогичного BasePage
класс ниже вместо по умолчанию Page
класс, и вы должны быть установлены.
public class BasePage : Page
{
public BasePage()
{
this.PreInit += new EventHandler(BasePage_PreInit);
}
protected void BasePage_PreInit(object sender, EventArgs e)
{
this.Page.Theme = theme; //Garner from appropriate resource
}
}
Надеюсь, это поможет.