代码之家  ›  专栏  ›  技术社区  ›  Adrian Magdas

ASP.NET Img标签

  •  0
  • Adrian Magdas  · 技术社区  · 16 年前

    我对ASP.NET如何生成 IMG 标签。 我有一个这样的服务器控件:

    <asp:Image runat="server" ID="someWarning" ImageUrl="~/images/warning.gif" AlternateText="Warning" />
    

    我希望它能产生这样的结果:

    <img id="ctl00_ContentPlaceHolder1_ctl00_someWarning" src="../images/warning.gif" />
    

    但相反,它产生了:

    <img alt="" src="/Image.ashx;img=%2fimages%2fwarning.gif"</img>
    

    当我执行以下JS时,这会给我带来错误:

    document.getElementById('ctl00_ContentPlaceHolder1_someWarning')
    

    知道为什么它不能生成预期的HTML吗?

    2 回复  |  直到 13 年前
        1
  •  1
  •   Ady    16 年前

    看起来它正在尝试使用自定义处理程序(ashx)来传递图像。是否有其他模块可以覆盖asp:image的默认行为?

    您的javascript将不起作用,因为在生成的HTML中没有为图像标记提供ID。

        2
  •  0
  •   AaronS    16 年前

    您可以获取使用clientid生成的实际ID。我使用此函数获取控件的ID,以便在使用类似以下语法的javascript中使用:

    document.getElementById('<%=ddlCountry.ClientID%>').style.display  = "block";
    

    但是,您也可以在代码隐藏中使用它来获得相同的东西。