HTML img和ASP.NET Image和相对路径

问题描述 投票:16回答:5

在ASP.NET中引用图像以在IIS上进行实时部署的正确方法是什么?

以下适用于开发和生产:

<asp:ImageButton ID="ibnEdit" runat="server" OnClick="ibnEdit_Click" ImageUrl="~/App_Themes/Default/images/one.png" Visible="false" ToolTip="Edit" />

以下两者都不起作用:(为什么不呢?)

<img src="~/App_Themes/Default/images/two.gif" />

以下适用于开发但不适用于生产:

<img src="../App_Themes/Default/images/two.gif" />
asp.net image relative-path
5个回答
23
投票

如果你想使用带有img路径的常规~标签,你可以将runat="server"作为属性添加到标签中(就像常规服务器控件一样)并且路径将被解析。例如:

<img src="~/App_Themes/Default/images/two.gif" runat="server" /> 

对于您的第二部分,../ image引用出现在多个页面上,例如用户控件或母版页(等),以便您可能在不同的文件夹级别使用它...


6
投票

我使用此语法从主页访问图像

<img src="<%=ResolveUrl("~/Content/Images/error_img.jp")%>" width="350" style="padding-right: 15px; padding-top: 20px;"/>

5
投票

〜只适用于服务器控件,如或。这告诉ASP.Net插入应用程序路径。有时这只是“/”,但如果你的应用程序不是网站的根目录,它将包含它所在的路径.img标签只是html,它不会被ASP.Net改变,所以浏览器获取路径“〜/ App_Themes / Default / images / two.gif”并且不知道如何阅读它。

我不知道为什么最后一个例子在dev中工作但在生产中不工作。它可能与将应用程序放在dev的根目录中但在生产中的子目录中有关。


0
投票

这对我有用

$(“。selector”)。attr('src',“Content / themes / base / images / img.png”);

重要的是你在新的src开头没有“/”。


0
投票
byte[] imageArray = System.IO.File.ReadAllBytes(Server.MapPath("~/Images/Upload_Image.png"));

string base64ImageRepresentation = Convert.ToBase64String(imageArray);
© www.soinside.com 2019 - 2024. All rights reserved.