我对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吗?
答案 0 :(得分:1)
看起来它正在尝试使用自定义处理程序(ashx)来传递图像。您是否有任何其他模块可能会覆盖asp:Image的默认行为?
您的JavaScript无效,因为图片代码未在生成的HTML中获得ID。
答案 1 :(得分:0)
您可以获取使用ClientID生成的实际ID。我使用它来获取用于JavaScript的控件的ID,使用类似于以下的语法:
document.getElementById('<%=ddlCountry.ClientID%>').style.display = "block";
但是你也可以在代码隐藏中使用它来获得同样的东西。