33

我有一个嵌入到我的程序集中的 CSS 文件。我需要使用这个 CSS 文件为某些元素设置背景图像,并且图像也需要是嵌入式资源。这可能吗?有什么办法可以可靠地做到这一点?

将现有样式表放入此 dll 时遇到问题,然后意识到图像没有显示。我不知道有什么方法可以让它工作,因为我需要知道嵌入图像的 URL。

有没有人做过这样的事情?

4

4 回答 4

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

您可以在 CSS 文件中使用上述语句,并且在使用 WebResourceAttribute 注册 CSS 时,可以将“PerformSubstitution”设置为 true

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



[assembly, WebResource("Default.css","text/css", PerformSubstitution=true)]
[assembly, WebResource("xyz.jpg","image/jpg")]
于 2009-07-28T21:28:34.927 回答
6

只需按照以下步骤将 Web 资源引用为 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),然后单击属性,现在选择“构建资源”选项作为“嵌入式资源”。

并完成。快乐编码!

于 2012-07-06T10:22:42.613 回答
4

我的与其他建议略有不同,但它适用于我的 ASP.NET 页面中的内联 CSS

  1. 将以下条目添加到 AssemblyInfo.cs 文件 -[assembly: WebResource("MyImageFile.png", "image/png")]
  2. 在 CSS 中添加以下代码以引用嵌入的资源 -background-image: url('<%= Page.ClientScript.GetWebResourceUrl(typeof(MyUserControl), "MyImageFile.png") %>')
于 2011-04-14T06:10:58.317 回答
0

通过 Web 服务公开资源怎么样?比如在 CSS 文件中,设置background: url( getImage.aspx?image=newyork.jpg )?

于 2009-07-28T21:19:05.070 回答