我在ASP.net中创建了一个包含图片的简单Datalist。 当我点击图像时,我想在一个像弹出窗口一样的小窗口中显示它。 我添加了一个Loader图像,以便在所选图像之前显示它。 您可以在下面看到弹出窗口的asp.net代码:
public int print(Graphics g, PageFormat pf, int page)
throws PrinterException {
if (page > 0) {
return NO_SUCH_PAGE;
}
Graphics2D g2d = (Graphics2D) g;
g2d.translate(pf.getImageableX(), pf.getImageableY() - 55);
getPrintMassFrame().printAll(g);
return PAGE_EXISTS;
}
在javascript代码中我得到了变量(imgLoader = NULL)。
<div id="divImage" >
<table style="height: 100%; width: 100%">
<tr>
<td valign="middle" align="center" colspan = "3" style ="height:500px;">
<img id="imgLoader" runat="server" alt=""
src="~/Images/loader.gif" />
<img id="imgFull" alt="" src=""
style="display: none;
height: 500px;width: 600px" />
</td>
你知道为什么我得到一个NULL结果吗?
LoadDiv功能:
var imgLoader = document.getElementById("imgLoader");
答案 0 :(得分:2)
因为<img>
标有runat="server"
,这意味着id
将在内部使用Asp.net来引用此组件,而实际的元素ID(在客户端 - 将会有所不同。
请改为尝试:
var imgLoader = document.getElementById("<%=imgLoader.ClientID%>");
或者,如果您在服务器端对此组件执行任何操作,则可以省略runat="server"
。