ASP.NET UpdatePanel阻止JQuery工作

时间:2010-04-14 08:54:54

标签: asp.net jquery updatepanel

我的页面上有一个更新面板,其中包含一些链接,这些链接具有触发弹出JQuery框的onClick事件。除非发生了AJAX回发,否则这样可以正常工作。我在另一篇文章中看到了一些代码:

Page.ClientScript.RegisterStartupScript(TypeOf(Page), 'ajaxTrigger1', 'Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);', true);
Page.ClientScript.RegisterClientScriptBlock(TypeOf(Page), 'EndRequest1', 'function EndRequestHandler(sender, args){AsyncDone();}', true);

我使用但它似乎没有用。我一直没有定义AsyncDone。有没有人对我能做些什么来解决问题呢?

详细信息:ASP.NET 2,IIS7

提前致谢。

3 个答案:

答案 0 :(得分:1)

问题是当updatepanel触发时,它会替换dom中的一大块html,这意味着它会替换你将click事件绑定到的元素。

要绕过此外观,请查看jquery .live().delegate(),它会一直查找与您提供的选择器匹配的事件,或者如果您希望每次更新面板刷新内容时都绑定到内容,请查看jQuery updatepanel plug-in

答案 1 :(得分:1)

我通过不使用jQuery中的document.ready来对此进行排序。相反,我用过:

function pageLoad(sender, args) { //code }

我还没有看到任何不利影响,所以希望这会解决我的问题。

答案 2 :(得分:1)

我使用更新面板只是为了停止asp.net中的整个页面刷新,甚至包括jquery.But在使用更新面板之后,问题解决了但是又产生了另一个问题。 jquery脚本在updatepanel中没有工作。

此问题现已解决。

示例:在jquery日期选择器的情况下,Jquery脚本的通常调用如下所示:

<script type="text/javascript">
    $(function() {
        $("#datepickers").datepicker({
                showOn: "button",
                 buttonImage:   "images/calendar.gif",
                 buttonImageOnly: true
                 });
          });
</script>

即使我使用了与

相同的代码
Page.ClientScript.RegisterStartupScript(TypeOf(Page), 'ajaxTrigger1',
'Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);',    true);
Page.ClientScript.RegisterClientScriptBlock(TypeOf(Page), 'EndRequest1', 'function EndRequestHandler(sender, args){AsyncDone();}', true);

解决方案出现在此处:http://kopila.com.np/ 但它对我没有用。后来我知道jquery脚本在部分回发之后不会工作ieour ajax request.If我们尝试在更新面板内调用任何JQuery脚本做任何脚本在第一个ajax请求之后不能工作。< / p>

示例:当您使用asp.net更新面板时,再次按如下方式调用它:

<script type="text/javascript">
        function pageLoad(sender, args) {

            if (args.get_isPartialLoad()) {

                $("#datepickers").datepicker({
                    showOn: "button",
                    buttonImage: "images/calendar.gif",
                    buttonImageOnly: true
                }); 

            }

        }
</script>

更多详情请访问:http://kopila.com.np