2010-01-20 5 views
1

내 사이트는 UI를 나타 내기 위해 약간의 스킨을 가지고 있습니다. 이 스킨은 연결중인 호스트 이름을 기반으로합니다.주제 호스트 이름을 기준으로 한 사이트

이와 같이 각 CSS 파일, 이미지 등을 올바른 폴더 위치 앞에 붙여야합니다.

그래서 나는 그것을 사용자의 세션에 넣어야한다고 생각했습니다.

그래서 내가 할 수있는 가장 초기 장소입니다.

두 번째로, 세션에서이 사실을 기억해야합니까, 아니면 요청 당이 요청을 처리해야합니까?

(app_themes을 언급하지 마십시오 - 내가 그들에 대해 알고, 등)

답변

1

왜 세션에 넣고? 그건 나에게별로 의미가 없다. 들어오는 모든 URL을 수정해야한다면 HttpModule을 만들 것입니다. 아니면 css, jpg 등의 요청을 처리하기위한 HttpHandler를 만드십시오.

또한 ... 기본적으로 IIS는 CSS, 이미지 등의 요청을 ASP.NET 프로세스에 넘겨주지 않습니다. ?

+0

내 게시물을 잘못 해석했습니다. 나는 전혀 들어오는 URL을 수정하려고하지 않고있다. 이 작업을 원한다면 IIS7에 내장 된 URL 재 작성기를 사용합니다. 나는 어떤 웹 사이트 자산 (예 : images/js/css)에 대한 올바른 위치로 이동하기 위해 html로 링크를 생성하려하고 있습니다. 따라서 출력 문제입니다. –

+0

...이 경우 나는 서브 클래 싱을 할 것입니다. 기존 asp : 하이퍼 링크를 사용하거나 대부분의 콘텐츠 관리 시스템에서 볼 수있는 것처럼 링크 용 특수 유틸리티 클래스를 만듭니다 (비슷한 이유로). – Bryan

0

요청시 이미 사용 가능한 Request.Url.Host의 키만 입력해야합니다. 좋은 분리를 위해 테마를 열거 형으로 만들거나, Controller 나 CodeBehind 중 어떤 것이 ViewModel의 열거 형을 코드 키로 전달하는지 결정하십시오 (Web Forms 또는 MVC를 사용하고 있는지 모를 정도로 모호합니다) .

사용자별로 다양하지 않으므로 Session에 저장하면 안됩니다.

관련 문제