项目的后台用的母版+导航做的框架
 
  然后某些需要加到框架里的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只懂皮毛,所以希望大家帮忙解决一下!  

解决方案 »

  1.   

    1。
    的确应该使用 ClientID2。
    <asp:Button ID="btnClick" runat="server" OnClick="Pading_Click" Visible="False" />>>><asp:Button ID="btnClick" runat="server" OnClick="Pading_Click" style="display:none" />
      

  2.   

    假如要继续使用 __doPostBack('btnClick','');则,应该是取 UniqueID 对应客户端的 name 属性》》__doPostBack('<%= btnClick.UniqueID %>','');
      

  3.   

    <asp:HiddenField ID="hiddenCurrentPage" runat="server" Value="1" />
            <asp:Button ID="btnClick" runat="server" OnClick="Pading_Click" Visible="False" />
    在js里的ID應該是
    母板頁ID_hiddenCurrentPage
    or
    母板頁ID_btnClick
      

  4.   

    Visible="False"时.JS是取不值的!! 
      

  5.   

    Visible="False"时.JS是取不值的!!   我只是不让他在页面上显示而已呀!
      而且在没加入母版之前都是正常的!-----------------------------------------
    假如要继续使用 __doPostBack('btnClick','');则,应该是取 UniqueID 对应客户端的 name 属性》》__doPostBack('<%= btnClick.UniqueID %>','');
    ||||||||这个我试了  还是说网页上有错误!
    ----------------------------------------------
      

  6.   

    <script language=javascript>
            function ChangePage(i)
            {
                var a = document.getElementById("<%= hiddenCurrentPage.ClientID %>");
                a.value = i;
               // document.getElementById("<%= btnClick.ClientID %>").click();
                __doPostBack('<%= btnClick.UniqueID %>','');
            }
        </script>抱歉啊!  刚刚没把中间那句注释掉!
     现在该成这样就可以了
     
     
    太感谢了!
    可以揭贴了  呵呵
      

  7.   

    http://blog.csdn.net/lanlan520/archive这我blog  明天我把我的分页程序贴上去给大家参考参考!
    我用的分页是带动态页码的,一直都在用,如果大家有更好的推荐一下!