[[[[[孟岩老师]]]]]----帮我看看这个问题!关于ClientId发了好几张贴都没解决!!!!
项目的后台用的母版+导航做的框架
然后某些需要加到框架里的aspx页面有分页程序,需要在head里写一个js函数
如下:
<script language=javascript>
function ChangePage(i)
{
document.all.hiddenCurrentPage.value = i;
__doPostBack( 'btnClick ', ' ');
}
</script>
在没有加到框架之前js是正常的,但在加到框架里之后js就失效了
我想到是不是aspx页面里
<asp:HiddenField ID= "hiddenCurrentPage " runat= "server " Value= "1 " />
<asp:Button ID= "btnClick " runat= "server " OnClick= "Pading_Click " Visible= "False " />
这两个控件在页面加到框架总之后js就调用不到了,发现需要用ClientId,然后该成下面这样
<script language=javascript>
function ChangePage(i)
{
var a = document.getElementById( " <%= hiddenCurrentPage.ClientID %> ");
a.value = i;
document.getElementById( " <%= btnClick.ClientID %> ").click();
}
</script>
但又报错了,
是这句有问题:
document.getElementById( " <%= btnClick.ClientID %> ").click();
我对js只懂皮毛,所以希望大家帮忙解决一下!
------解决方案--------------------假如要继续使用 __doPostBack( 'btnClick ', ' ');
则,应该是取 UniqueID 对应客户端的 name 属性
》》
__doPostBack( ' <%= btnClick.UniqueID %> ', ' ');