0

我有一个 svg 图像,我想在标签中显示,但不知何故,它没有在任何浏览器中呈现。我什至尝试将以下行添加到 web.config 文件中:

 <staticContent>
  <mimeMap fileExtension=".svg" mimeType="image/svg+xml"/>
</staticContent>

还是不行。谁能帮我这个?

4

2 回答 2

1

http://www.sitepoint.com/add-svg-to-web-page/上的项目#5

  1. 使用 <img> 标签

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>
于 2012-11-21T19:08:02.183 回答
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();
}

请注意,您应该创建一个虚拟文件夹“ yourVirtualFolderhttp://msdn.microsoft.com/en-us/library/ms178477.aspx#

于 2014-05-19T16:20:29.177 回答