App_Themes не загружается при начальной загрузке - PullRequest
0 голосов
/ 14 июня 2010

У меня есть приложение, в котором разные пользователи могут войти через единый портал.Когда они входят в систему, если они принадлежат более чем 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, а их там нет.Я обновляю и делаю то же самое, и они есть.

Я не использую проверку подлинности с помощью форм, и темой по умолчанию в веб-конфигурации является "По умолчанию"

<pages theme="Default">

Любые мысли о том, чтоможет продолжаться?Если вам нужно что-то прояснить, спросите.

Спасибо!

1 Ответ

0 голосов
/ 13 июля 2010

Я нашел проблему.Page_PreInit вызывался до того, как информация о компании была задана во время входа в систему.

Итак, после входа пользователя в систему я вызвал логику, чтобы проверить данные о компании по сравнению с загрузкой главной страницы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...