런타임에 사용중인 CSS 파일을 변경하고 싶습니다.런타임에 CSS 파일 (테마) 변경 (ASP.NET)
두 CSS 파일 인 red.css
과 blue.css
이 있다고 가정 해 보겠습니다. 마스터 페이지를 Page_Load에서
<link rel="Stylesheet" ID="Styles" runat="server"/>
:
내 마스터 페이지에서, 내가있어 다음과 같은 링크 :
나는 다음과 같은 접근 방식을 시도했습니다
Styles.Href = Global.CSSPath;
Global.asax :
public static string CSSPath = "red.css";
(동일한 폴더에 있다고 가정)
이 방법이 효과적입니다. 그리고 물론 CSSPath의 값을 변경하고 blue.css 또는 기타로 만들 수있는 몇 가지 기능을 쉽게 구현할 수 있습니다. 이제는 이것이 한 사용자 또는 내 웹 응용 프로그램을 사용하는 모든 사용자에게 영향을 미치는지 알고 싶습니다.
한 사용자에게만 영향을주는 경우 : 감사합니다. 그렇지 않은 경우 : 런타임에 특정 사용자/세션에 대한 테마를 변경할 수있게하려면 어떻게해야합니까?
감사합니다,
데니스
고마워, 그게 내가 찾고 있었던거야! Global.asax의 모든 방법에서 세션에 액세스 할 수 없으므로 특정 접근 방식을 염두에두고 있습니까? –
당신은 항상 내장 된 ASP.NET 테마를 사용할 수있는 옵션을가집니다. 또는 글로벌 수준에서이 작업을 시도하는 대신 모든 페이지에서 공통적 인 동작을 제공하려고합니다. 이전에는 각 페이지를 System.Web.UI.Page에서 파생 된 기본 클래스에서 상속 받음으로써이를 수행했습니다. 여기서는 파이프 라인에서 적절한 메소드를 오버라이드하고 여기에 속성을 설정합니다. 세션을 사용할 수 있으며 모든 WebForms 페이지가 새로운 기본 클래스에서 상속 받으면 "무료"로이 동작을 얻을 수 있습니다. 희망은 그 말이 맞습니다. –