我有一个应用程序,其中不同的用户可以通过单个门户登录进行登录。当他们登录 如果他们属于超过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">
对可能发生的事情的任何想法?如果您需要澄清任何事情,请询问。
谢谢!
答案 0 :(得分:0)
我发现了问题。在登录期间设置公司信息之前,正在调用Page_PreInit。
因此,在用户登录后,我调用逻辑来检查公司详细信息与主页加载中的信息。