2008-10-29 157 views
0

ASP.Net如何生成img标签有问题。 我有这样的服务器控件: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?

回答

1

看起来它试图使用自定义处理程序(ashx)来传递图像。你有任何额外的模块可能会覆盖asp:Image的默认行为吗?

您的JavaScript不起作用,因为图像标签在生成的HTML中没有被赋予一个ID。

0

您可以获得使用ClientID生成的实际ID。我用这个使用类似于下面的语法拿到的一个控件的ID使用JavaScript中:

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

然而,你也可以在你使用它的代码,后面得到同样的事情。