我有一个svg图像,我想在标签中显示,但不知何故,它不会在任何浏览器中呈现。我甚至尝试将以下行添加到web.config文件中。:
<staticContent>
<mimeMap fileExtension=".svg" mimeType="image/svg+xml"/>
</staticContent>
仍然不起作用。任何人都可以帮我这个吗?
答案 0 :(得分:1)
http://www.sitepoint.com/add-svg-to-web-page/
上的第5项SVG可以像任何其他图像一样添加到您的网页: view plainprint?
<img src="image.svg" />
如果需要,可以添加常用的宽度,高度,alt和其他属性。
你可能想知道为什么img在这个列表中不是#1。出于安全原因,浏览器会在使用img标记添加到页面时禁用SVG脚本,链接和其他类型的交互。此外,IE9,Chrome和Safari不会将样式表规则应用于SVG,如果它们是在单独的CSS文件中定义的。
也许作为一种解决方法,您可以执行以下操作:
<ItemTemplate>
<%# Container.DataItem.ToString().Contains(".svg") ?
"<object type='image/svg+xml' data='" + Container.DataItem + "'>Your browser does not support SVG</object>" :
"<img src='" + Container.DataItem + "' />"
</ItemTemplate>
答案 1 :(得分:0)
在“aspx”页面中使用:
<asp:Repeater ID="RepeaterImages" runat="server">
<ItemTemplate>
<asp:Image ID="Image" runat="server" ImageUrl='<%# Container.DataItem %>' />
</ItemTemplate>
</asp:Repeater>
在您的代码文件“aspx.cs”中:
protected void Page_Load(object sender, EventArgs e)
{
string[] filePaths = Directory.GetFiles(@"C:\YourFolder\");
List<String> images = new List<string>(filePaths.Count());
foreach (string item in filePaths)
{
images.Add(String.Format("~/yourVirtualImgFolder/"+Path.GetFileName(item)));
}
RepeaterImages.DataSource = images;
RepeaterImages.DataBind();
}
请注意,您应该创建一个虚拟文件夹“ yourVirtualFolder ”http://msdn.microsoft.com/en-us/library/ms178477.aspx#