2010-07-08 4 views
3

다양한 방법이 있다는 것을 알고 있습니다. 그렇지만 현재 사용중인 페이지를 기반으로 특정 CSS를 동적으로 포함하는 "적절한"방법을 알고 싶습니다. 나는 사이트 마스터 내에 모든 것을 포함 할 수 있지만 URL을 평가하거나 컨트롤러를 통해 표시 플래그를 전달하거나 콘텐츠 내에 포함 시키면 필요할 때만 포함시킬 수 있을지 궁금합니다. 페이지 (head 태그 외부) ... 깨끗하게 유지하고 사이트 마스터를 통해 링크하고 싶습니다.하지만 해당 CSS를 포함시키기 전에 내가 사용하고있는 페이지를 평가할 수 있기를 바랍니다. .... 생각?CSS에는 MVC가 포함되어 있습니다

<% if(someCriteria) { %> 
    <stylesheet type="text/css" href="mypath" /> 
<%} %> 

당신은 도우미 또는 무엇이든 그것을 포장 할 수 있지만 내가 가장 좋은 방법이나 일을 "깨끗한"방법이있을 수 있다고 생각하지 않습니다 : 아무리의이 같은 될 것 무엇

답변

1

이거 간단합니다.

"내가 그것을 필요로 할 경우에만 나는 단순히 그들을 포함 할 수 있다면하지만 내가 궁금하네요, 사이트 마스터 내 모두를 포함 할 수있다"

이 바라 보는 또 다른 방법은 CSS 파일이 캐시입니다 브라우저에서 한 번만 포함하고 완료 할 수 있습니다. 방문자의 초기로드 시간은 약간 더 길지 만 CSS 파일을 작게 유지하면 거의 눈에 띄지 않습니다. 동적으로 만들면 성능상의 이점이 거의 없습니다.

+0

고마워요....... NET의 새로운 기능. .... 1 파일의 모든 스타일을 사용하여 프론트 엔드로드에 관해서는, 당신은 거의 머리에 못을 박았습니다. 초기로드는 오히려 작은 덩어리로 나누기 때문에 여러 사람이 동시에 elses 변경 사항을 겹쳐서 쓰지 않아도 파일을 수정할 수 있습니다. – denisb

+1

+1 두 번째 부분 +1 너의 대답. – JasCav

0

내가 일반적으로하는 일은 페이지에있는 것들이 포함되도록하기 위해 마스터에를 추가하는 것입니다. 종종 스타일 시트가 아닌 스크립트이지만, 둘 다 작동합니다.

또한 개발자가 스타일 시트가로드되는 곳을 정확히 염려 할 필요가 없도록 HTML 도우미를 처리하도록 투표 할 것입니다. . .

+0

필자는 헬퍼를 통해 항상로드합니다. 런타임시 경로를 구성 할 수 있고 캐싱 및 압축 필터를 첨부 할 수 있기 때문에 테스트 할 때 (또는 5 분마다 CSS를 변경하여) 비활성화 할 수도 있습니다. – mare

1

, 나는 마스터 페이지에 년 동안 수행 된 것은 마스터 페이지의 <head> 섹션에 ContentPlaceHolder을 포함한다. 그런 다음 처리 논리가 많은 내 마스터 페이지를 복잡하게 만드는 대신 페이지 별 CSS를 주입 할 수 있습니다. 내 ASP.NET MVC 솔루션을 사용하여 동일한 작업을 수행하고 있습니다.

+0

정확히 내가 어떻게하는지. – Jamiec

관련 문제