2009-11-13 6 views
0

저는 잠시 동안 테마를 사용하고 있으며, 제 코드를 리펙토링하려고 할 때 늦게 생각을 떠 올렸습니다. 내 테마는 항상 기본 레이아웃 문제를 안내하는 두 부분으로 나뉘며, 색상, 이미지 등을 안내하는 다른 부분으로 나누어집니다. 매번 새로운 클라이언트를 디자인해야하며 주제를 전환해야합니다. 그러나 여기서 숨겨진 문제는 모든 테마에서 레이아웃 CSS의 복사본을 만들어야한다는 것입니다. 내 테마 폴더의 전형적인 예는 다음과 같습니다 App_Themes - 기본 - LayoutCSS - ColorCSS - 이미지 - 클라이언트 1 - LayoutCSS - ColorCSS_Client1 - 이미지 - 클라이언트 2 - LayoutCSS - ColorCSS_Client2 - 이미지ASP.NET x.x 테마 (중복 제거)

알아두면 모든 테마에서 LayoutCSS가 반복됩니다. 중복을 제거하는 한 가지 간단한 방법은 App_Themes에서 제거하고 별도의 폴더에 넣고 마스터 페이지에서 참조하는 것입니다. 그 접근 방식의 단점은 내가 사용하는 모든 페이지에서 스타일을 수동으로 참조해야한다는 것입니다 (마스터 페이지를 사용하지 않습니다).

질문은 .... 어쨌든 모든 내 페이지에 적용되는 글로벌 테마와 내 web.config (일반 테마와 같은)에서 제어되는 로컬 테마를 가질 수 있습니다. 그것들은 동기화되어 동작합니다.

감사합니다,

Sashidhar Kokku

답변

1

당신은 다른 디렉토리에 레이아웃 CSS 파일을 배치 예를 사이트 루트에 대해, 단순히

@import가 포함 된 각 테마의 CSS 파일을 배치 할 수 있습니다 "/GlobalLayout.css"

당신은 단지 하나 개의 파일에 CSS를 가지고 있지만,의 혜택을받을 그런 식으로 ASP.NET 테마의 자동 연결

http://css-discuss.incutio.com/?page=ImportHack

+0

재미있는 각도. 도움을 감사하십시오. – Sash