【问题标题】:ASP.Net OnClick Subs not operating how I wantASP.Net OnClick Subs 没有按我想要的方式运行
【发布时间】:2015-06-02 17:55:35
【问题描述】:

我正在使用 onClick 处理程序来处理查询 SQL 的按钮单击。问题是,有时这些查询需要 10 到 30 秒才能返回。我禁用了按钮以防止在那段时间点击堆叠,但现在我想在子完成它的事情时出现一点加载 gif。

所以它应该是这样的:单击 -> 按钮禁用 -> 加载 gif 出现 -> onClick 子完成 -> 加载 gif 消失 -> 更多 Ajax 发生在同一页面上

这是我的按钮的样子

<asp:Button ID="buttonOne" runat="server" Visible="False" Text="Next" OnClientClick="this.disabled=true;" UseSubmitBehavior="false" OnClick="userName_Click"/>

并通过页面隐藏

Sub userName_Click(ByVal sender As Object, ByVal e As EventArgs)
    showWidget(True)
    'This part takes a few seconds
    If usernameIsValid(textField.Text)
    Then buttonTwo.Visible = true, labelTwo.Visible = true,   buttonOne.Visible = false, labelOne.Visible = false
     End If
    showWidget(False)
     End Sub

我目前得到的结果是 .gif 没有加载(它只注册 showWidget(Flase))。

如何将加载图像绑定到按钮单击,然后在单击动作的子例程完成后使加载图像消失?

谢谢!

【问题讨论】:

  • 在服务器发送响应之前,服务器端方法无法在浏览器上显示或隐藏图像,这就是您看到此行为的原因 - 这是预期的。您可以考虑提交 ajax 请求,也可以使用UpdatePanel
  • 好吧,我所有的按钮都在更新面板中。但也许它不起作用,因为我使用了 UseSubmitBehavior="false" ?
  • 不,这不是问题所在。尝试使用UpdateProgress 控件来隐藏/显示图像。 msdn.microsoft.com/en-us/library/bb398821%28v=vs.140%29.aspx

标签: javascript asp.net ajax vb.net


【解决方案1】:

这种方法行不通。您需要使用 html 按钮并在该按钮上单击使用 AJAX 调用您的服务器端方法,然后使用 jQuery/Bootstrap 显示您的动画/gif。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 2021-01-19
    • 2021-12-15
    • 2019-01-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多