主题没有设定

时间:2012-07-06 10:49:31

标签: c# asp.net themes preinit

我使用此代码更改应用主题

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

Session中的主题是Theme Aqua,但主题是重置为standard.I' m使用devexpress主题和devexpress控件

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

3 个答案:

答案 0 :(得分:2)

您可以通过添加

将主题应用于整个网站
<pages Theme="themeName">

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

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

答案 1 :(得分:0)

要更改主题(因此在创建控件时无需重复),请将其放入global.asax

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

您可以使用DevExpress工具“ThemeDeployer”复制所需的主题文件:)

答案 2 :(得分:0)

为web.config

中的所有页面声明祖先并不罕见
<pages pageBaseType="NicolasPierre.Page" etc

然后将您的逻辑置于重写OnPreInit方法。也可能对其他东西有用,比如预先添加标题。