【问题标题】:Using jQuery with ASP.NET web forms on postback在回发时将 jQuery 与 ASP.NET Web 表单一起使用
【发布时间】:2010-09-21 16:54:11
【问题描述】:

我已经阅读了大量关于将 jQuery 与 ASP.NET Web 表单集成以利用数据访问功能的优秀博客文章,但我很想知道在回发之前使用 jQuery 的一些动画功能是多么容易.我能想到两个很好的例子:

1) 当我点击一个 asp:button 时,为一个 div 设置动画,然后在动画完成后进行常规回发(或者在回发后完成动画?)。

2) 当我点击gridview 中的linkbutton 时,将gridview 行淡出,然后在linkbutton 的onclick 事件中进行常规回发。

我不知道这个问题的解决方案。我尝试过的所有操作要么在动画开始之前运行回发,要么运行动画但你需要在 JavaScript 中执行回发(糟糕)。

【问题讨论】:

  • 我已经多次使用 jQuery 在回发之前隐藏一个按钮,所以我不会遇到双击问题。您需要解决的具体问题是什么——这并不难。

标签: asp.net jquery webforms


【解决方案1】:

是的,当然可以。

比如说我们用一个按钮来做一些回发,

<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 函数。我们用“return:”来称呼它。

所以当函数被调用并决定返回什么时,回发将等待客户端函数给出值 - true(做回发)/假(不回发)。

在 JavaScript 函数中执行动画并返回 true。

例如:

function DoJqueryAnimations()
{
    //Do some animations here or call other JavaScript function.
    return true;
}

【讨论】:

  • 我实际上已经尝试过这样做。问题是在 javascript 函数返回 true 并发生回发之前,jquery 动画没有完成它的动作。
  • 用滑动动画做了很好的尝试,你是真的。我不会等待动画完成。好吧,在大多数动画函数中,您可以在方法中提供一个回调函数,一旦动画完成,它将调用回调函数,您可以明智地使用它来完成您的目标>>这里是一个示例>>>api.jquery.com/slideUp/#speedcallback 其中它使用持续时间作为第一个参数,并使用“回调”函数作为第二个参数,以便在动画完成后执行某些操作。希望这能帮助您解决问题
猜你喜欢
  • 2012-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-25
  • 2011-02-16
  • 2011-10-04
相关资源
最近更新 更多