【问题标题】:HTML img and ASP.NET Image and relative pathsHTML img 和 ASP.NET 图像和相对路径
【发布时间】:2011-07-08 15:02:10
【问题描述】:

在 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


【解决方案1】:

你可以看看我的回答。我已经使用 C# 语言解决了这个问题。 Why can't I do <img src="C:/localfile.jpg">?

【讨论】:

    【解决方案2】:

    ~ 仅适用于服务器控件,例如 &lt;asp:Image&gt;&lt;asp:ImageButton&gt;。这告诉 ASP.Net 插入应用程序路径。有时这只是"/",但如果您的应用程序不是网站的根目录,它将包含它所在的路径。img 标记只是 html,它不会被 ASP.Net 更改,因此浏览器获取路径"~/App_Themes/Default/images/two.gif",不知道怎么读。

    我不知道为什么最后一个示例在开发中有效,但在生产中无效。这可能与将应用程序放在 dev 的根目录中但在生产中的子目录中有关。

    【讨论】:

    • +1,同样,@mmmbop,要在 HTML 标记中解析 ~/,您可以使用 UrlHelper 类(而不是切换到使用 asp:image 控件)&lt;img src="&lt;%= Url.Content("~/App_Themes/Default/images/two.gif") %&gt;" /&gt;
    【解决方案3】:

    我使用这种语法从母版页访问图像

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

    【讨论】:

      【解决方案4】:
      byte[] imageArray = System.IO.File.ReadAllBytes(Server.MapPath("~/Images/Upload_Image.png"));
      
      string base64ImageRepresentation = Convert.ToBase64String(imageArray);
      

      【讨论】:

        【解决方案5】:

        这对我有用

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

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

        【讨论】:

          【解决方案6】:

          如果您想使用带有~ 路径的常规img 标记,您只需将runat="server" 作为属性添加到标记中(如常规服务器控件),路径将被解析。例如:

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

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

          【讨论】:

          • 不错,对网站整体性能有影响吗?
          • @Tanveer 它基本上应该没有效果。控件将经历控件生命周期。话虽如此,您可能需要添加很多图像才能看到任何差异。
          猜你喜欢
          • 1970-01-01
          • 2017-01-11
          • 2016-10-28
          • 2012-07-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-01-21
          • 1970-01-01
          相关资源
          最近更新 更多