[英]Runtime generated controls disabled for Async Postback asp.net
我想在運行時創建一些不能擊中“異步回發”的項目。
實際上,我的網格視圖中的每一行都有一個按鈕。 該控件不能生成部分回發,而可以生成完整的回發(因為結果必須是報告的下載)。
實際上,我嘗試了2種方式:
頁面加載
通過以下方式將該項目添加到ScriptManager中:
ScriptManager.GetCurrent(本).RegisterPostBackControl(對照);
該代碼被打了正確的時間,但是仍然生成了部分回發
關於項目生成
在這種情況下,我會執行以下操作:
var button =(Control)sender;
ScriptManager.GetCurrent(本).RegisterPostBackControl(按鈕);
為什么這不起作用?
在這兩種情況下,我都碰到了特定情況,並將控件“注冊”為“完全回發”,那么我該如何獲得部分回發?
謝謝
我不知道您所說的部分回發是什么意思,但是我想您正在嘗試在按鈕單擊事件中執行某些操作,該事件要在頁面加載后發生。 有一個快速的解決方法,在pageload事件中,您可以檢查單擊了哪個按鈕。
if(IsPostBack){
clickedButtonID=Request.Form["__EVENTTARGET"];
}
我找到了一個可行的解決方案,並且不涉及任何特定的代碼/替代。
我當時只專注於“自動生成”按鈕,但是當我開始考慮區域和父母時,一切都很好。
作為解決方案,我只需將WHOLE GridView注冊到腳本管理器,通過這種方式,內部的所有控制器都會生成完整的回發而不是部分回發。
在我的Page_Load中,我現在有:
ScriptManager.GetCurrent().RegisterPostBackControl(grd_Reports);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.