我有一个 svg 图像,我想在标签中显示,但不知何故,它没有在任何浏览器中呈现。我什至尝试将以下行添加到 web.config 文件中:
<staticContent>
<mimeMap fileExtension=".svg" mimeType="image/svg+xml"/>
</staticContent>
还是不行。谁能帮我这个?
http://www.sitepoint.com/add-svg-to-web-page/上的项目#5
SVG 可以像任何其他图像一样添加到您的网页中:查看原图?
<img src="image.svg" />
如果您需要,可以添加通常的宽度、高度、alt 和其他属性。
您可能想知道为什么 img 在此列表中没有排名第一。出于安全原因,当使用 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>
在您的“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#