2009-07-28 25 views
32

我有一個嵌入到我的程序集中的CSS文件。我需要爲使用此CSS文件的某些元素設置背景圖像,並且圖像也需要是嵌入式資源。這可能嗎?有什麼辦法可以可靠地做到這一點?如何引用來自CSS的嵌入式圖像?

當把現有的樣式表放到這個dll中時,我遇到了問題,然後意識到圖像沒有顯示出來。我不知道有什麼辦法讓它工作,因爲我需要知道嵌入式圖像的URL。

有沒有人做過類似的事情?

回答

52
<% = WebResource("image1.jpg") %> 

您可以使用上面的語句你的CSS文件中,並同時用 WebResourceAttribute註冊你的CSS,你可以設置「PerformSubstitution」真

Default.css 
body{ 
    background: <%=WebResource("xyz.jpg")%> 
} 



[assembly, WebResource("Default.css","text/css", PerformSubstitution=true)] 
[assembly, WebResource("xyz.jpg","image/jpg")] 
0

如何通過Web服務公開資源? 如在CSS文件中設置background: url(getImage.aspx?image=newyork.jpg)

+0

這是一個不錯的主意,只是資源嵌入在我們的通用庫中,而不是在Web應用程序中。所以不幸的是,在這種情況下這不適用於我。 – 2009-07-28 21:22:08

+0

然後,從一個新的Web應用程序引用公共庫,該應用程序全權負責從公共庫中提取嵌入式資源? – maxwellb 2009-07-28 21:34:45

4

煤礦是在其他的輕微變化建議,但它適合我的內聯CSS我的ASP.NET頁面

  1. 內將以下條目添加到AssemblyInfo.cs文件 - [assembly: WebResource("MyImageFile.png", "image/png")]
  2. 在CSS中添加以下代碼來引用嵌入的資源 - background-image: url('<%= Page.ClientScript.GetWebResourceUrl(typeof(MyUserControl), "MyImageFile.png") %>')
6

只要按照下面的步驟來指網絡資源作爲背景圖片在CSS

  1. 參考圖片的URL爲「背景:url('<%= WebResource(「xyz.jpg」)%>');「以下面的方式。

    Default.css 
    body{ 
         background: url('<%=WebResource("xyz.jpg")%>'); 
        } 
    
  2. 在AssemblyInfo.cs文件註冊 「PerformSubstitution = true」 屬性的CSS文件中按以下方式

    [assembly, WebResource("Default.css","text/css", PerformSubstitution=true)] 
    
  3. 現在再次在AssemblyInfo.cs文件登記圖像文件作爲

    [assembly, WebResource("xyz.jpg","image/jpg")] 
    
  4. 右鍵單擊圖像文件(xyz.jpg)和CSS文件(Default.css),然後單擊屬性現在選擇「構建資源」選項爲「嵌入式資源「。

及其完成。 快樂編碼!