2010-07-22 4 views
6

virturl 디렉토리 이름이 고정되어 있지 않으므로 .css 파일을 .aspx 페이지에 포함하도록 아래 코드를 작성했습니다. 내가 태그에 "때 ResolveUrl"를 사용할 때asp.net에 .css 파일 포함

<link rel="Stylesheet" href="<%= ResolveUrl("~/Css/xxx.css") %>" type="text/css" /> 

문제는 IDE가 항상 모든 CSS 클래스가 정의되지 않은 것을 짖는되어있다.

.css 파일을 정의하는 더 좋은 방법이 있습니까?

답변

17

당신은 HTML 서버 컨트롤합니다 (runat="server" 통지)과 같이이 작업을 수행 할 수 있습니다 (그리고 if (false) 블록은 컴파일러에 의해 멀리 최적화해야하므로 제로 성능 저하가 있어야한다) 그래도 가상 디렉터리가 해결됩니다. 또한 aspx 페이지에서 css 인텔리 센스 및 경고를 지원해야합니다.

+0

runat = "server"가 없어도 작동 할 것이라고 생각합니다 –

+3

물결표 (~) URL 구문을 사용하려면 runat = "server"가 필요합니다. –

+0

좋아요! 정말 고마워! – but

0

IDE는 CSS 파일을 포함하고 있다는 것을 알지 못합니다. 단순히 런타임 전에 생성되기 때문입니다.

intelisense가 필요하면 수동으로 입력하고 필요할 때 나중에 변경하십시오.

3

<% if (false) { %> 내에 정적으로 파일을 포함 할 수 있습니다.

이렇게하면 Visual Studio의 IntelliSense에서 파일을 볼 수 있지만 ASP.Net 런타임에서는 볼 수 없습니다.

<link rel="stylesheet" runat="server" media="screen" href="~/css/styles.css" /> 

:

+0

Arrrr 입력 한 속도가 나보다 빠릅니다! 이것은 최고의 솔루션 IMO입니다. 이제 파일을 계속 참조 할 수 있고 실제 경로를 사용하여 모든 참조를 복제하고'if (false) {} '로 중복을 감쌀 수 있습니다. –