回答
你可以这样做:
CS
//in pageload
//the request is not in postback or async mode
bt1.OnClientClick = "this.disabled = true; " + ClientScript.GetPostBackEventReference(bt1, null) + ";");
注:可以更换 “this.disabled =真”,一个js函数,将有更好的处理来禁用按钮,并且可能还会显示友好的信息。
或者这样:
http://msdn.microsoft.com/en-us/library/bb383989.aspx
JS
Sys.WebForms.PageRequestManager.getInstance().add_initializeRequest(CheckStatus);
function CheckStatus(sender, arg)
{
var postBackElement = arg.get_postBackElement();
var prm = Sys.WebForms.PageRequestManager.getInstance();
if (prm.get_isInAsyncPostBack() && postBackElement.id == "btn1") {
arg.set_cancel(true);
//display friendly message, etc
}
}
注:我修改它,所以它会检查按钮的ID。替换“btn1”
祝你好运!
非常感谢,我终于明白了。什么arg.set_cancel(true);在你的代码中做过? – 2010-09-30 10:47:26
另外,如果我在结束请求中使用postBackElement.disabled = true。它并没有适当地解除封锁。我们必须使用document.getElementById()吗? – 2010-09-30 11:13:13
您使用哪种浏览器和操作系统? – Mouhannad 2010-09-30 11:16:27
您可以使用更新面板的开始和停止消息来禁用您的控件。 例如
<script type="text/javascript">
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_initializeRequest(InitializeRequest);
prm.add_endRequest(EndRequest);
function InitializeRequest(sender, args) {
document.getElementById("ButtonToDisable").disabled = true;
}
function EndRequest(sender, args) {
document.getElementById("ButtonToDisable").disabled = false;
}
</script>
这将触发页面上的每个异步回发点?有没有办法在某个更新面板中的某个按钮点击事件上触发它? – 2010-09-30 07:06:17
@Popo您可以通过阅读“发件人”参数进行过滤,并且只有在某些面板正在更新时才打开它。使用此代码,进行一些调试并查看您到达的消息。 – Aristos 2010-09-30 07:47:18
非常感谢Aristos。 – 2010-09-30 10:41:40
- 1. 在更新面板中按钮没有触发异步回传
- 2. 更新面板只更新一次单选按钮列表异步回传
- 3. 更新ASP.NET面板异步
- 4. 异步更新面板_
- 5. 从更新面板异步回发后保持滚动位置
- 6. 在更新面板中回发后仍然放置的按钮
- 7. 如何禁用更新面板外的按钮?
- 8. 禁用lispworks capi上的单个按钮:按钮面板
- 9. 如何将回发按钮添加到更新面板
- 10. 为什么按钮回发更新面板
- 11. 按钮单击内部更新面板导致发布返回
- 12. 按钮位于更新面板内。但每个按钮点击整页回发
- 13. ASP.NET 4.0 Webforms - 异步更新3面板
- 14. asp禁用按钮回发
- 15. 按钮不适用于更新面板
- 16. Clickonce发布页面突然被禁用'更新'按钮
- 17. 更新面板中的GridView中的按钮触发器
- 18. 图像按钮,更新面板
- 19. 更新面板无法找到触发它的按钮
- 20. 禁用asp.net按钮的回发
- 21. 在更新面板中与Telerik Radgrid同步回发
- 22. 使用标准按钮的异步回发
- 23. 每次按钮导致完整的回发,即使它在更新面板
- 24. 如何在异步回发期间更新页面?
- 25. 页面样式在ModalPopupExtender上被点击更新面板中的gridview中的按钮点击更新面板
- 26. Devexpress按钮在第一次回发后发生禁用按钮
- 27. 按钮刷新页面在回发?
- 28. 使用GridView asp设置更新面板的异步触发器:ButtonField
- 29. 按钮点击事件没有触发内部更新面板
- 30. 动态链接按钮在更新面板中未触发
你能提供你正在使用的当前代码吗? – NAVEED 2010-09-30 06:13:10