스킨을 변경하는 방법에는 여러 가지가 있습니다. 가장 간단한 방법은 일반적으로 페이지 CSS를 전환하는 것이며 CSS는 일반적으로 외부 CSS 파일에 작성됩니다. 그런 다음 CSS를 전환하면 실제로 HTML의 링크 href 경로가 변경됩니다. 온라인으로 검색했어요. 일반적으로 두 가지 방법이 있습니다.
1. 페이지에 홀더 컨트롤을 배치합니다. 그런 다음 현재 사용자의 스타일 CSS 링크를 프로그래밍 방식으로 페이지에 작성합니다.
2. 반사 메커니즘을 통해 각 컨트롤에 CSS 스타일을 설정합니다.
위의 두 가지 방법은 상당히 번거롭습니다.
첫 번째 방법은 각 페이지에 홀더 컨트롤을 배치해야 합니다. 비슷한 접근 방식은 링크 태그에 runat=server를 추가하는 것입니다. 페이지가 너무 많으면 더 문제가 됩니다.
두 번째 것을 고려할 필요가 없습니다. 성능 프로그래밍 효율성에는 많은 문제가 있습니다.
DNN을 배울 때 폼에서 기본 액션 주소를 수정하는 방법을 찾았던 기억이 나네요. 직접 참고해 보시기 바랍니다. 나쁘지 않아요:
Render 이벤트를 직접 재정의
보호된 재정의 무효 렌더(System.Web.UI.HtmlTextWriter 작가)
{
StringWriter sw = 새로운 StringWriter();
HtmlTextWriter htmlWriter = new HtmlTextWriter(sw);
base.Render(htmlWriter);
//현재 사용자가 선택한 스타일 CSS
string css = ""
string html = sw.ToString() ;
int startPoint = html.IndexOf("", StringComparison.CurrentCultureIgnoreCase);
if (시작점 > 0)
{
html = html.Insert(startPoint, CSS);
}
작가.쓰기(html);
}
이것을 각 페이지의 기본 클래스 PageBase에 넣으십시오. 그게 훨씬 더 편할 거예요.
물론 모든 페이지가 사용자 정의 기본 클래스를 상속하지 않으려면 이를 HttpModule에 작성할 수도 있습니다. 또한 매우 편리합니다.
한 곳에 적어두면 모든 페이지에 유용하게 쓰일 것입니다.
http://www.cnblogs.com/kwklover/archive/2007/01/03/610822.html