2012-07-06 114 views
0

我使用此代码来改变应用主题主题不设置

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

的主题,那就是在会议的主题是水族,但主题越来越复位使用到standard.I'm用的DevExpress的DevExpress的主题控制

而且这是设置为主题的好办法,是有办法ü可以广泛设置你的主题程序由

页面做页面

回答

2

您可以通过添加

<pages Theme="themeName"> 
应用的主题,以整个网站

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

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

+0

如果我想改变它,只是用上面的代码来做? – 2012-07-06 11:02:59

+0

检查您的页面是否有AutoEventWireUp = true。 如果您想在后面的代码中设置主题,请将其设置在gobal.asax中。 – Narendra 2012-07-06 11:31:18

+0

即使主题是在web.config中声明的,也可以在页面指令中重写。 – Narendra 2012-07-06 11:37:18

0

代替要改变你的主题(所以当你创建控件时你不需要重复它)把它放在你的glob中al.asax

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

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

+0

DevExpressHelper?这是外部依赖性,不是吗?你能提出一个开箱即用的解决方案吗? – 2012-07-06 10:55:12

+0

DevExpressHelper是“DevExpress.Web.Mvc”命名空间的一部分。你如何使用devexpress,你可以使用这个权利? – 2012-07-06 10:56:34

+0

不能找到global.asax文件,它应该在那里吗? – 2012-07-06 11:01:06

0

的情况并不少见在web.config中

<pages pageBaseType="NicolasPierre.Page" etc 

,然后把你的逻辑声明祖先的所有网页到覆盖OnPreInit方法。可能对其他内容也有用,例如预先标题。