Ниже приведен процесс, используемый в книге «Начало ASP.Net 4 в C # и VB.Net от Imar Spaanjaars». Обратите внимание, что в книге он использует DropDownList для изменения темы, но я считаю, что то же самое можно сделать с помощью кнопки «Изображение»:
- В MasterPage добавьте код в событие нажатия кнопки изображения, чтобы сохранить имя темы в файле cookie. После того, как файл cookie установлен, вы перенаправляете обратно на текущую страницу.
- Вам потребуется создать пользовательскую BasePage, которая наследуется от класса Page, и все ваши страницы наследуются от этой BasePage. Именно в этой BasePage вы переопределите Page_PreInit, чтобы загрузить выбранную тему на основе значения файла cookie. Перенаправление заключается в запуске кода в Page_PreInit для изменения темы.
Я знаю, что это может быть не лучшим вариантом, потому что вам нужно будет изменить все свои страницы, чтобы наследовать их от новой BasePage вместо Page.