我有一个嵌入在程序集中的CSS文件。我需要使用此CSS文件为某些元素设置背景图像,并且图像也需要是嵌入式资源。这可能吗?有什么方法可以做到这一点吗?
我在将现有样式表放入此dll时遇到了问题,然后意识到图像没有显示出来。我不知道有什么方法可以使它工作,因为我需要知道嵌入图像的URL。
有人做过这样的事吗?
答案 0 :(得分:52)
<% = WebResource("image1.jpg") %>
您可以在CSS文件中使用以上语句,并在注册CSS时使用 WebResourceAttribute,您可以将“PerformSubstitution”设置为true
Default.css
body{
background: <%=WebResource("xyz.jpg")%>
}
[assembly, WebResource("Default.css","text/css", PerformSubstitution=true)]
[assembly, WebResource("xyz.jpg","image/jpg")]
答案 1 :(得分:6)
只需按照以下步骤将网络资源引用为CSS中的背景图片
将图片网址指定为“background:url('&lt;%= WebResource(”xyz.jpg“)%&gt;');”以下列方式。
Default.css
body{
background: url('<%=WebResource("xyz.jpg")%>');
}
在AssemblyInfo.cs文件中,按以下方式注册带有“PerformSubstitution = true”属性的CSS文件
[assembly, WebResource("Default.css","text/css", PerformSubstitution=true)]
现在再次在AssemblyInfo.cs文件中将图像文件注册为
[assembly, WebResource("xyz.jpg","image/jpg")]
右键单击图像文件(xyz.jpg)和CSS文件(Default.css),然后单击属性,选择“构建资源”选项作为“嵌入式资源”。
并完成了。 快乐的编码!!!
答案 2 :(得分:4)
我的其他建议略有不同,但它适用于我的ASP.NET页面中的内联CSS
[assembly: WebResource("MyImageFile.png", "image/png")]
background-image: url('<%= Page.ClientScript.GetWebResourceUrl(typeof(MyUserControl), "MyImageFile.png") %>')
答案 3 :(得分:0)
通过Web服务公开资源怎么样?
比如在CSS文件中,设置background: url( getImage.aspx?image=newyork.jpg )
?