Установите StyleSheetTheme в директиве @Page в ASP.NET

У меня есть свойство в приложении asp.net

ABPS.PRR.WEB.CurrentSession.Theme

и я устанавливаю это в директиве @Page на страницах aspx, таких как:

<%@ Page StylesheetTheme="ABPS.PRR.WEB.CurrentSession.Theme"  Title="Default" ... %>

но я получаю ошибку во время выполнения

Parser Error Message: Theme 'ABPS.PRR.WEB.CurrentSession.Theme' cannot be found in the application or global theme directories.

Как я могу реализовать это в директиве страницы?

3 ответа

Решение

StylesheetTheme требуется название темы, и вы вводите это неправильно.

Если вы хотите установить тему во время выполнения, вам нужно сохранить ее в переменной сеанса, вы можете сделать это как...

protected void Page_PreInit(object sender, EventArgs e)
{
    Page.StylesheetTheme = ABPS.PRR.WEB.CurrentSession.Theme;
}

Если вы хотите установить другое значение для свойства StyleSheetTheme страницы, вам нужно переопределить его:

public override string StyleSheetTheme
{
    get
    {
        return ABPS.PRR.WEB.CurrentSession.Theme;
    }
    set
    {
    }
}

Но если вы хотите изменить свойство Theme, просто установите его значение в событии Page_PreInit:

protected void Page_PreInit(object sender, EventArgs e)
{
    this.Theme = ABPS.PRR.WEB.CurrentSession.Theme;
}

Вы можете установить это в коде.

Поместите это в метод Page_PreInit.

Page.Theme = ABPS.PRR.WEB.CurrentSession.Theme

или же

Page.StyleSheetTheme = ABPS.PRR.WEB.CurrentSession.Theme
Другие вопросы по тегам