我已经阅读了很多关于将jQuery与ASP.NET Web表单集成以利用数据访问功能的好文章,但我很想知道在回发之前使用jQuery的一些动画功能是多么容易。我可以想到两个很好的例子:
1)当我点击一个asp:按钮,为div设置动画,但是在动画结束时进行常规回发(或者在回发后完成动画?)。
2)当我点击gridview中的链接按钮时,淡出gridview行,然后在linkbutton的onclick事件中进行常规回发。
我不知道这个解决方案。我尝试过的所有东西都要么在动画开始之前运行回发,要么运行动画但是你需要用JavaScript执行回发(yuck)。
答案 0 :(得分:4)
是的,当然你可以这样做。
比如说我们按一个按钮做一些回发,
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
OnClick事件 - 导致在服务器端处理回发。
但是如果你还定义了一个OnClientClick
事件并调用任何带有调用返回值的JavaScript函数。它将在JavaScript函数执行后决定回发。
例如,
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" OnClientClick="return DoJqueryAnimations();" />
在上面的例子中 - DoJQueryAnimations()
是一个JavaScript函数。我们称它为“返回:”。
因此,当函数被调用并决定返回什么时,回发将等待客户端函数给出值 - true(do postback)/ false(没有回发)。
在JavaScript函数中,您执行动画并返回true。
例如:
function DoJqueryAnimations()
{
//Do some animations here or call other JavaScript function.
return true;
}