2010-06-14 64 views
0

我有一個應用程序,其中不同的用戶可以通過單個門戶登錄登錄。當他們登錄 時,如果他們屬於多個公司,他們必須選擇他們所屬的公司。如果該公司有自定義主題,主題將會更改。App_Themes不加載初始加載

每一頁我的應用程序具有繼承「CustomPage」類

下面是自定義頁面的代碼:

public class CustomPage : Page 
{ 
    protected void Page_PreInit(object sender, EventArgs e) 
    { 
     if (Globals.Company != null && Directory.Exists(Page.MapPath("~/App_Themes/" + Globals.Company.CompanyName))) 
     { 
      Page.Theme = Globals.Company.CompanyName; 
     } 
     else 
     { 
      Page.Theme = "Default"; 
     } 
    } 
} 

當客戶屬於超過1級的公司,他們選擇公司他們屬於,主題加載得很好。

所以,我遇到的問題是這樣的:

如果他們屬於僅有1家公司,該公司是自動選擇,但主題不加載的時候了。但是,如果我刷新頁面,主題加載就好了。即使默認主題也不會加載。在我刷新之前,該頁面一直沒有CSS。

我甚至查看源代碼並查找我的css名稱,但它們不在那裏。我刷新並做同樣的事情,他們在那裏。

我不使用的web配置窗體身份驗證和默認的主題是「默認」

<pages theme="Default"> 

任何想法可能什麼呢?如果您需要澄清任何事情,請詢問。

謝謝!

回答

0

我發現了這個問題。在登錄期間設置公司信息之前調用Page_PreInit。

因此,在用戶登錄後,這就是我調用邏輯來檢查公司詳細信息與主頁面加載情況的關係。