Как изменить ASP.NET App_Themes в зависимости от того, какой скин выбран в RadSkinManager? - PullRequest
1 голос
/ 21 апреля 2011

Как изменить ASP.NET App_Themes в зависимости от того, какой скин выбран в RadSkinManager?

У меня есть раскрывающийся список RadSkinManager на главной странице, который позволяет пользователям выбирать свой собственный скин, предоставленный Telerik Rad Controls.Я хочу иметь возможность переключать свой каталог App_Theme, чтобы все мои другие файлы CSS и asp.net .skin также изменялись вместе с RadSkin.

Есть ли для этого "лучший метод"?

1 Ответ

1 голос
/ 21 апреля 2011

Вам необходимо сохранить выбранную пользователем тему и установить свойство Page.StyleSheetTheme.

Профили .NET хорошо подойдут для описанного вами сценария. Создайте свойство UI Theme и установите страницу StyleSheetTheme или Theme. Управляйте темой через базовую страницу.

См. http://msdn.microsoft.com/en-us/library/2y3fs9xs.aspx для создания свойств профиля.

Пример свойства профиля:

<profile>
  <properties>
    <group name="UI">
      <add name="Theme" type="System.String" defaultValue="DefaultThemeName" />
    </group>
  </properties>
</profile>

Доступ к собственности:

ProfileCommon profile = new ProfileCommon().GetProfile(HttpContext.Current.User.Identity.Name);
Page.StyleSheetTheme = profile.UI.Theme;

Наконец, используйте раскрывающийся список RadSkinManager, чтобы установить тему для профиля пользователя.

...