我服务器端的控件是 动态生成了,按规则生成了许多。
_cell = new TableCell();
_cell.CssClass = "cell_abcd";
_cell.ID = "_cell" + index.ToString("000") + i.ToString("00") + "A";
然后同样还有一批linkButton ,其OnClientClick 调用js的 xuanze函数,参数是对应 cell 控件的ClientID(运行中监测和ID是一样的)
LinkButton _lbABCD = new LinkButton();
_lbABCD.Text = "[ A ]";
_lbABCD.CssClass = "lbcss";
_lbABCD.OnClientClick = "return xuanze(\"" + _cell.ClientID + "\")";
在前端的js函数中代码如下:
function xuanze(obj) {
alert(obj);
var v;
v = document.getElementById(obj);
if (v == null) {
alert("OK");
}
else {
alert("Fail");
}
}
运行中打印obj发现的确是cell的ID,但是紧接着 按此ID找控件却 没有找到,请教原因。
在浏览器打开网页源码,发现这个ID也是有的。
<td id="_cell00000A" class="cell_abcd"><a onclick="return xuanze("_cell00000A");" class="lbcss" href="javascript:__doPostBack('ctl03','')">[ A ]</a></td><td id="_cell00000B" class="cell_abcd"><a onclick="return xuanze("_cell00000B");" class="lbcss" href="javascript:__doPostBack('ctl04','')">[ B ]</a></td><td id="_cell00000C" class="cell_abcd"><a onclick="return xuanze("_cell00000C");" class="lbcss" href="javascript:__doPostBack('ctl05','')">[ C ]</a></td><td id="_cell00000D" class="cell_abcd"><a onclick="return xuanze("_cell00000D");" class="lbcss" href="javascript:__doPostBack('ctl06','')">[ D ]</a></td>