回答
你可以這樣做:
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. 更新ASP.NET面板異步
- 2. 異步更新面板_
- 3. 在更新面板中回發後仍然放置的按鈕
- 4. 如何禁用更新面板外的按鈕?
- 5. 禁用lispworks capi上的單個按鈕:按鈕面板
- 6. 按鈕位於更新面板內。但每個按鈕點擊整頁回發
- 7. asp禁用按鈕回發
- 8. Clickonce發佈頁面突然被禁用'更新'按鈕
- 9. 更新面板無法找到觸發它的按鈕
- 10. 每次按鈕導致完整的回發,即使它在更新面板
- 11. 在更新面板中與Telerik Radgrid同步回發
- 12. 頁面樣式在ModalPopupExtender上被點擊更新面板中的gridview中的按鈕點擊更新面板
- 13. Devexpress按鈕在第一次回發後發生禁用按鈕
- 14. 按鈕刷新頁面在回發?
- 15. 使用GridView asp設置更新面板的異步觸發器:ButtonField
- 16. 動態鏈接按鈕在更新面板中未觸發
- 17. 我可以添加HTML按鈕觸發更新面板
- 18. 2更新面板總是發回
- 19. 有線更新面板回發問題
- 20. 更新面板,回發和jQuery
- 21. 動態控件回發更新面板
- 22. 禁用按鈕回發在JSF2.0
- 23. 禁用回發按鈕ASP.NET C#
- 24. 如何使用更新面板內更新進度,當執行代碼的按鈕位於更新面板外
- 25. 用戶面板上的刪除按鈕
- 26. 異步Facebook按鈕
- 27. ASP.NET異步後回asp:按鈕點擊
- 28. 從gridview中的單選按鈕觸發異步回調
- 29. 調用Javascript窗體位於更新面板中的ASP.NET按鈕
- 30. JSF2 - Primefaces - 用命令按鈕沒有更新嵌套的面板
你能提供你正在使用的當前代碼嗎? – NAVEED 2010-09-30 06:13:10