2011-09-30 8 views
2

이것은 새로운 질문이며이 주제와 매우 관련이 있습니다. How to reference embedded images from CSS? 이유가 무엇이든 여기에 새 스레드를 게시해야하므로 원본 스레드를보고 문제가 무엇인지 이해하십시오.CSS에서 포함 된 이미지를 참조하는 방법은 무엇입니까?

포함 된 .CSS 필드와 몇 개의 이미지 파일을 가져 오는 asp.net 서버 컨트롤을 만들고 싶습니다. CSS에서 background-image 명령을 사용하여이 클래스를 사용하여 출력 HTML을 필요한 이미지와 함께 제공하려고합니다.

나는 지적한 접근법을 얻을 수 없습니다.

나는 ... 모든 변형을 시도 :

[assembly: System.Web.UI.WebResource("MapBG.png", "image/png")] 
[assembly: System.Web.UI.WebResource("myWebControls.Resources.MapBG.png", "image/png")] 

background-image: url(<%=WebResource("myWebControls.Resources.MapBG.png")%>); 
background-image: url('<%= Page.ClientScript.GetWebResourceUrl(typeof(myWebControls.ElanStatusMap.ElanStatusMap), "MapBG.png") %>'); 
background-image: url('<%= Page.ClientScript.GetWebResourceUrl(typeof(myWebControls.ElanStatusMap.ElanStatusMap), "myWebControls.Resources.MapBG.png") %>'); 

아무것도 작동하지 않습니다. 이것에 대한 더 이상의 아이디어?

+0

임베디드 시스템 프로그래밍 관련 질문이 아닙니다. 태그가 지정되었습니다. –

답변

4

CSS 페이지는 aspx 페이지와 같이 렌더링되지 않으므로 서버 블록을 넣을 수 없습니다.

대신 CSS를 ASPX 페이지에 <style> 블록으로 포함시킨 다음이 메커니즘을 사용할 수 있습니다.

+0

안녕하세요. CSS는 컨트롤을 소비하는 페이지가 아니라 내 컨트롤과 함께 제공되어야하므로이 방법으로는 수행 할 수 없습니다. 또는 서버 쪽 출력 컨트롤의 코드 파일에서 내 모든 CSS해야합니까? – Magier

+1

@Magier - 네. 컨트롤이 배치 된 페이지에 스타일 블록을 삽입하려면 hvae를 사용합니다. 이것이 asp.net에 내장 된 컨트롤이하는 방식입니다. CSS 호출을 가로 채기 위해 HttpHandler 또는 Module을 개발할 수도 있지만, 그저 막대한 골칫거리입니다. –

+0

좋은 제안, 그것은 stringbuilder에 모든 CSS를 라인 빠는 및 결과 HTML로 내 codefile에서 출력 작품! 감사. 하지만 더 간단한 질문이 하나 있습니다 : 실제로 body 태그의 중간에 스타일 태그를 만드는 protected override void RenderContents 메소드에서 내 스타일을 출력합니다.이 태그를 HTML 헤더에 어떻게 출력 할 수 있습니까? 이 보호 된 재정의 void OnPreRender 처리기 thich 그렇게 할 수있는 것 같습니다. 그러나이 컨텍스트에서는 사용할 수있는 HtmlTextWriter 개체가 필요하지 않습니다. 나는 지금 내 스스로 만들 수 없습니다 ... 감사합니다 !!! – Magier

관련 문제