Темы не устанавливаются

Я использую этот код для изменения темы приложения

        protected void Page_PreInit(object sender, EventArgs e)
    {
        MasterPage m = Master;
        string theme = Session["theme"].ToString();
        Page.Theme = theme;
    }

Тема, которая есть в Session, - это тема Aqua, но она сбрасывается до стандартной. Я использую темы devexpress с элементами управления devexpress.

Кроме того, это хороший способ установить тему, есть ли способ, которым вы можете настроить свою программу темы, вместо того, чтобы делать это постранично

3 ответа

Решение

Вы можете применить тему ко всему сайту, добавив

<pages Theme="themeName">

элемент к <system.web> раздел файла Web.config.

Это автоматически применяет тему ко всем страницам на вашем сайте.

Нередко объявлять предков для всех страниц в web.config

<pages pageBaseType="NicolasPierre.Page" etc

и затем поместите свою логику в переопределяющий метод OnPreInit. Может быть полезно и для чего-то другого, например, для заголовков.

Чтобы изменить свою тему (чтобы вам не нужно было повторять ее при создании элементов управления), поместите это в ваш global.asax

protected void Application_PreRequestHandlerExecute(object sender, EventArgs e)
{
    DevExpressHelper.Theme = "Aqua";
}

Вы можете использовать инструмент DevExpress "ThemeDeployer", чтобы скопировать файлы темы, которые вы хотите:)

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