2012-07-06 101 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方法。可能對其他內容也有用,例如預先標題。