Jquery + asp.net延迟回发

jquery + asp.net delay postback

本文关键字:延迟 net asp Jquery      更新时间:2023-09-26

我想在LinkButton点击上实现一个slideUp jQuery效果,然后在页面上做回发。效果需要600ms才能完成。我遇到的问题是,在jQuery效果完成之前,页面已经进行了回发,所以jQuery脚本中途停止了。除了手动回发之外,还有什么方法可以延迟回发吗?

可以为slideup提供一个函数,该函数只在滑动完成时执行:

formDiv.slideUp('normal', function () {
    $(form).submit();
  });

可以将加载/重载页面的调用放在slideUp动画的回调函数中。

类似:

$("#myElement").click(function() {
    $("#otherElement").slideUp(600, function() {
        // $("#form").submit(); // or
        // window.location.assign("mypage.aspx");
    });
})

如果你能把你的代码贴出来,我可以更详细地给你看。

您可以使用return false来阻止PostBack事件。然后通过使用UniqueID的正确LinkButton名称调用__doPostBack手动调用按钮的PostBack。

<script type="text/javascript">
    function myFunction() {
        //do stuff
        setTimeout(function () { delayedPostBack(); }, 1000);
    }
    function delayedPostBack() {
        __doPostBack('<%= LinkButton1.UniqueID %>', '');
    }
</script>
<asp:LinkButton ID="LinkButton1" runat="server" OnClientClick="myFunction(); return false;" OnClick="LinkButton1_Click">LinkButton</asp:LinkButton>