Как принудительно выполнить полный пост-возврат с кнопки в UpdatePanel?
Как я могу принудительно выполнить полную обратную связь с помощью кнопки в UpdatePanel?
Ответ 1
Вы можете использовать свойство Triggers UpdatePanel для регистрации действий, которые вызывают полную обратную передачу.
Добавьте объект PostBackTrigger к этому свойству, содержащий ControlID элемента управления, которому необходимо вызвать полную обратную передачу.
<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
<ContentTemplate>
...
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="myFullPostBackControlID" />
</Triggers>
</asp:UpdatePanel>
Ответ 2
Просто добавьте это, потому что никто не имеет. Это можно сделать в кодировке в одной строке кода без какого-либо из вышеперечисленных методов. Просто поместите это в page_load:
Visual Basic
ScriptManager.GetCurrent(Me).RegisterPostBackControl(myButtonID)
С#
ScriptManager.GetCurrent(this).RegisterPostBackControl(myButtonID);
Ответ 3
От здесь:
Используйте элемент управления PostBackTrigger, чтобы включить элементы управления внутри UpdatePanel, чтобы вызвать обратную передачу вместо выполнения асинхронной обратной передачи.
<Triggers>
<asp:PostBackTrigger ControlID="controlID" />
</Triggers>
Ответ 4
У меня была такая же проблема с использованием ImageButton внутри WebDataGrid.
Я положил Line из EvilDr внутри preRender вместо webdatagrid. Отлично работает!
for (int i = 0; i < wdgMyData.Rows.Count; i++)
{
ScriptManager.GetCurrent(this).RegisterPostBackControl((ImageButton)wdgMyData.Rows[i].Items[3].FindControl("btnDownloadExcel"));
}