回答
你可以這樣做:
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