如何在asp.net回发之前运行jquery

本文关键字:运行 jquery asp net | 更新日期: 2023-09-27 18:17:04

我想运行一个jquery代码与动画/淡出的一个框。该框是一个ASP listview,包含来自数据库的数据。当用户单击框上的"delete"时,将执行一个更新命令,因此数据库中的数据将被更新,但它不会执行jquery的淡出动画,因为页面已经刷新了。如何先用jquery淡出框,然后回发页面?

如何在asp.net回发之前运行jquery

你可以使用下面的JS来淡出beginRequest函数中的框

jQuery(function ($) {
    var prm = Sys.WebForms.PageRequestManager.getInstance();
    prm.add_beginRequest(function (source, args) {
        // code to fade out the box
    });
    prm.add_endRequest(function (source, args) {
        // any other code you want to execute after the post back finishes
    });
});

确保在页面中添加ScriptManager和UpdatePanel。有关详细信息,您可以查看此MSDN参考

你可以使用删除按钮的"OnClientClick"属性来运行jQuery。

然后你可以从你的jQuery方法返回动画已经运行和完成,然后确认调用你的PostBack。

按钮:

<asp:Button id="btnDelete" runat="server" OnClientClick="return runAnimation()" OnClick="btnDelete_Click" text="Delete" />
jQuery:

function runAnimation()
{
   // animate 
   return true; // Do postback
   // problem
   return false; // Don't do postback
}