App_Themes初始加载时未加载

时间:2010-06-14 18:31:41

标签: c# asp.net themes

我有一个应用程序,其中不同的用户可以通过单个门户登录进行登录。当他们登录 如果他们属于超过1家公司,他们必须选择他们所属的公司。如果该公司有自定义主题,主题将会更改。

我的应用程序的每个页面都继承了一个“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";
        }
    }
}

当客户属于多家公司,并且他们选择了他们所属的公司时,主题加载就好了。

所以,我遇到的问题是:

如果他们只属于一家公司,则会自动选择该公司,但主题不会立即加载。但是,如果我刷新页面,主题加载就好了。即使是默认主题也不会加载。在刷新之前,页面根本没有css。

我甚至查看源代码并查找我的css名称,但它们不存在。我刷新并做同样的事情,他们就在那里。

我没有使用表单身份验证,并且Web配置中的默认主题是“默认”

<pages theme="Default">

对可能发生的事情的任何想法?如果您需要澄清任何事情,请询问。

谢谢!

1 个答案:

答案 0 :(得分:0)

我发现了问题。在登录期间设置公司信息之前,正在调用Page_PreInit。

因此,在用户登录后,我调用逻辑来检查公司详细信息与主页加载中的信息。