Тема загрузки 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
  }
}

Надеюсь, это поможет.

Другие вопросы по тегам