ASP.net页面(使用AJAX)是否有办法显示一些忙碌指示符(只是一个标签很好),同时禁用某些按钮(以防止双击)然后完成工作。在工作结束时,标签会更改以指示新状态。
当我尝试这样做时:
Public Sub BtnEnvoyer_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnEnvoyer.Click
BtnEnvoyer.Enabled = False
LblStatus.Visible = True
LblStatus.ForeColor = Drawing.Color.ForestGreen
LblStatus.Text = "Envoi en cours..."
SendEmail()
End Sub
Private Sub EnvoyerCourriel()
' Do some work
LblStatus.Text = "Done!"
BtnEnvoyer.Enabled = True
End Sub
Public Sub BtnEnvoyer_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnEnvoyer.Click
BtnEnvoyer.Enabled = False
LblStatus.Visible = True
LblStatus.ForeColor = Drawing.Color.ForestGreen
LblStatus.Text = "Envoi en cours..."
SendEmail()
End Sub
Private Sub EnvoyerCourriel()
' Do some work
LblStatus.Text = "Done!"
BtnEnvoyer.Enabled = True
End Sub
我只看到dn结果,两者之间没什么。 我不介意使用javascript使其在需要时工作,或其他任何事情。
答案 0 :(得分:1)
您可能会发现对此问题的讨论很有帮助:
解决方案仅处理按钮,但您可以将想法扩展为禁用更多DOM,并将您的消息显示为隐藏div作为客户端点击功能的一部分。
答案 1 :(得分:1)
您应该可以使用一些jQuery来查找按钮,并禁用它们。当我在过去完成此操作时,我也将按钮文本更改为“Please Wait ...”。我连接了客户端onclick和回按钮。
它对我来说很有用,因为它停止了再次按下按钮,并且还为用户提供了他们成功点击按钮的即时视觉反馈。
如果你需要一个例子,我确信我可以为你挖出一些代码。
答案 2 :(得分:1)
我创建的课程可以放到任何表格上,防止双击。
基本上,我将按钮设置为“禁用”,但没有什么可以阻止您扩展它以调用您自己的客户端代码。
你最好的选择是禁用按钮(就像我一样),还会显示一个包含动画gif(AJAX加载图像)的隐藏DIV。
答案 3 :(得分:0)
如果您希望在回发结果返回之前更新页面,则必须使用javascript,如下所示。这是一种通用方法,您可能应该根据需要进行自定义。
在你的HTML中:
<head>
<script type="text/javascript">
function ShowWait() {
document.getElementById('labelspan').innerText = 'Loading...';
}
</script>
</head>
在页面设置中:
BtnEnvoyer.OnClientClick = "ShowWait();";
然后,当单击该按钮时,ShowWait
将在回发实际处理时应用您想要的任何视觉效果。一旦准备好,整个页面将被替换为回发的结果。