Я работаю над приложением веб-форм ASP.NET.На моей странице у меня есть 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);