jjery在ajax自动刷新updatepanel后无法正常工作

时间:2013-02-23 16:48:04

标签: asp.net ajax jquery

    !window.jQuery&&文件撰写( '< /脚本>');              //这是我使用的jquery     

<script type="text/javascript">
     //the function calls the query
    $(document).ready(function x() {
        /*
        *   Examples - images
        */
            //set the position of title on image

        $("a#example7").imagebox({
            'titlePosition': 'inside'
        });

    });


</script>

1 个答案:

答案 0 :(得分:0)

在updatepanels的异步页面回发期间,$(document).ready函数不会被触发,因此必须以其他方式执行$(document).ready的代码。

您可以执行以下两种方式中的任何一种:

第一种方式:

<script type="text/javascript">
        var prm = Sys.WebForms.PageRequestManager.getInstance();
        prm.add_initializeRequest(InitializeRequest);
        prm.add_endRequest(EndRequest);
        function InitializeRequest(sender, args) {               
            //do any action that you want to be executed before postbacks
        }
        function EndRequest(sender, args) {
            $("a#example7").imagebox({
                 'titlePosition': 'inside'
            });
        }
</script>

第二种方式,即使用RegisterStartupScript:

<script type="text/javascript">
            function CreateImageBox() {
                $("a#example7").imagebox({
                     'titlePosition': 'inside'
                });
            }
</script>

在c#代码中使用:

ScriptManager.RegisterStartupScript(UpdatePanel1, UpdatePanelTab.GetType(), "createimagebox", "CreateImageBox();", true);