0

我正在使用此代码更改应用程序主题

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

会话中的主题是 Theme Aqua ,但主题正在重置为标准。我正在使用带有 devexpress 控件的 devexpress 主题

这也是设置主题的好方法吗,有没有一种方法可以设置你的主题程序,而不是逐页进行

4

3 回答 3

2

您可以通过添加主题将主题应用于整个网站

<pages Theme="themeName">

元素添加到<system.web>Web.config 文件的部分。

这将自动将主题应用于您网站中的所有页面。

于 2012-07-06T10:59:11.697 回答
0

要改变你的主题(这样你在创建控件时不需要重复它)把它放在你的 global.asax

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

你可以使用 DevExpress 工具“ThemeDeployer”来复制你想要的主题文件:)

于 2012-07-06T10:54:06.630 回答
0

在 web.config 中为所有页面声明祖先并不少见

<pages pageBaseType="NicolasPierre.Page" etc

然后将您的逻辑置于覆盖 OnPreInit 方法中。也可能对其他东西有用,比如前置标题。

于 2012-07-06T11:28:51.343 回答