updatepanel的jquery问题

问题描述

| 我创建ASP.NET4 C#Web应用程序   我在使用母版页的页面中有jQuery,而我的内容占位符在更新面板中 发生后备脚本时脚本不起作用 母版页
<body>
<form runat =\"server\">    
    <br />
    <asp:ScriptManager ID=\"ScriptManager1\" runat=\"server\">
    <Scripts>
    <asp:ScriptReference Path=\"~/Scripts/jquery-1.4.4.min.js\" />
    <asp:ScriptReference Path=\"~/Scripts/jquery-ui-1.8.6.custom.min.js\" />
    <asp:ScriptReference Path=\"~/Scripts/jquery-ui-timepicker-addon.js\" />
    </Scripts>
    </asp:ScriptManager>
    <asp:UpdatePanel ID=\"UpdatePanel1\" runat=\"server\" UpdateMode=\"Conditional\">
        <ContentTemplate>
            <asp:ContentPlaceHolder ID=\"ContentPlaceHolder1\" runat=\"server\">
            </asp:ContentPlaceHolder>
        </ContentTemplate>          
</asp:UpdatePanel>
</form>    
</body>
     内容页
<asp:Content ID=\"Content1\" ContentPlaceHolderID=\"head\" runat=\"server\">
</asp:Content>
<asp:Content ID=\"Content2\" ContentPlaceHolderID=\"ContentPlaceHolder1\" runat=\"server\">
<asp:MultiView ID=\"MultiView1\" runat=\"server\" ActiveViewIndex=\"0\">
    <asp:View ID=\"View1\" runat=\"server\">
        <asp:Button ID=\"Button1\" runat=\"server\" OnClick=\"Button1_Click\" Text=\"Button\" />
        <br />
        <asp:TextBox ID=\"TextBox1\" runat=\"server\"></asp:TextBox><script type=\"text/javascript\">

                                                                    $(\'#<%= TextBox1.ClientID %>\').timepicker({
                                                                        ampm: true,hourMin: 8,hourMax: 23
                                                                    });
        </script>
    </asp:View>
    <asp:View ID=\"View2\" runat=\"server\">      
        <asp:TextBox ID=\"TextBox3\" runat=\"server\"></asp:TextBox><script type=\"text/javascript\">

                                                                    $(\'#<%= TextBox3.ClientID %>\').timepicker({
                                                                        ampm: true,hourMax: 23
                                                                    });
        </script>
    </asp:View>
         

解决方法

UpdatePanel
移到
MasterPage
之外。 将整个页面放入2英镑(这是您拥有的)会增加巨大的开销-整个页面在每次部分回发时都通过网络发送。此开销将降低性能。 “ 2”仅应包裹页面的相关区域和较小区域。 一旦ѭ2the出现在内容页面中,则需要确保在
UpdatePanel
内重新添加JQuery语句。这样可以确保回传后JQuery脚本不会丢失。就像是:
        <ContentTemplate>
            <script type=\"text/javascript\" language=\"javascript\">
                Sys.Application.add_load(YOUR_FUNCTION_NAME);
            </script>