日期:2014-05-18  浏览次数:20484 次

[[[[[孟岩老师]]]]]----帮我看看这个问题!关于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 %> ', ' ');