簡體   English   中英

父頁面中UpdatePanel的用戶控件中的ASP.NET AJAX UpdateProgress

[英]ASP.NET AJAX UpdateProgress in User Control for UpdatePanel in parent page

我正在研究ASP.NET Web表單應用程序。 在我的頁面中,我有一個UpdatePanel和一個帶有UpdateProgress和一堆按鈕的用戶控件。 當用戶單擊其中一個按鈕時,我想執行異步回發並顯示UpdateProgress

誰能幫助我使回發異步 (看起來像它可以工作)以及使UpdateProgress出現 (不起作用)?

通常,可以通過在頁面標記中定義UpdateTrigger來輕松完成此操作。 在用戶控件內部不是。 我公開了一個公共屬性AssociatedUpdatePanelID ,以在控件中包含UpdatePanel的ID。

UpdateProgress的定義如下:

<asp:UpdateProgress AssociatedUpdatePanelID='<%# AssociatedUpdatePanelID %>' />

這就是我在控件的Page_Load嘗試過的方法,但是這些方法均無效(執行回發,但不會出現UpdateProgress ):

updatePanel.Triggers.Add(new AsyncPostBackTrigger()
{
    ControlID = this.ID,
    EventName = "RequestOptimize"
});

var scriptMgr = ToolkitScriptManager.GetCurrent(Page);
scriptMgr.RegisterAsyncPostBackControl(optimizeButtonJobs);
scriptMgr.RegisterAsyncPostBackControl(this);

您可以僅在頁面上將用戶控件注冊為異步回發觸發器。 不再需要魔法。 它對我不起作用的原因是(偶然)在按鈕上設置的PostBackUrl屬性。

<asp:AsyncPostBackTrigger ControlID="myCustomControl" />

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM