在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" />
答案 0 :(得分:23)
如果您想使用带有img
路径的常规~
标记,您只需将runat="server"
添加到标记中作为属性(如常规服务器控件),路径将得到解决。 e.g:
<img src="~/App_Themes/Default/images/two.gif" runat="server" />
对于你的第二部分,是../ image引用出现在多个页面上,例如用户控件或母版页(等),以便你可能在不同的文件夹级别使用它...
答案 1 :(得分:6)
我使用此语法来访问母版页中的图像
<img src="<%=ResolveUrl("~/Content/Images/error_img.jp")%>" width="350" style="padding-right: 15px; padding-top: 20px;"/>
答案 2 :(得分:5)
〜仅适用于服务器控件,如或。这告诉ASP.Net插入应用程序路径。有时这只是“/”,但如果你的应用程序不是网站的根目录,它将包含它所在的路径.img标签只是html,它不会被ASP.Net改变,所以浏览器获取路径“〜/ App_Themes / Default / images / two.gif”并且不知道如何阅读它。
我不知道为什么最后一个例子在dev中工作但在生产中不工作。它可能与将应用程序放在dev的根目录中但在生产中的子目录中有关。
答案 3 :(得分:0)
这对我有用
$(“。selector”)。attr('src',“Content / themes / base / images / img.png”);
重要的是你在新的src开头没有“/”。
答案 4 :(得分:0)
byte[] imageArray = System.IO.File.ReadAllBytes(Server.MapPath("~/Images/Upload_Image.png"));
string base64ImageRepresentation = Convert.ToBase64String(imageArray);
答案 5 :(得分:0)
您可以调查我的答案。我已经使用C#语言解决了该问题。 Why can't I do <img src="C:/localfile.jpg">?