タグ内に表示したい svg 画像がありますが、どういうわけかどのブラウザーでもレンダリングされません。次の行を web.config ファイルに追加してみました。
<staticContent>
<mimeMap fileExtension=".svg" mimeType="image/svg+xml"/>
</staticContent>
それでもうまくいきません。誰でもこれで私を助けることができますか?
http://www.sitepoint.com/add-svg-to-web-page/のアイテム#5
SVGは、他の画像と同じようにWebページに追加できます。プレーンプリントを表示しますか?
<img src="image.svg" />
必要に応じて、通常の幅、高さ、alt、その他の属性を追加できます。
なぜimgがこのリストの1位ではないのか疑問に思われるかもしれません。セキュリティ上の理由から、ブラウザは、imgタグを使用してページに追加されると、SVGスクリプト、リンク、およびその他のタイプの対話機能を無効にします。さらに、IE9、Chrome、Safariは、別のCSSファイルで定義されている場合、SVGにスタイルシートルールを適用しません。
おそらく回避策として、次のようなことを行うことができます。
<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#を作成する必要があることに注意してください。