如何从UpdatePanel中的按钮强制完全回发?
如何从UpdatePanel中的按钮强制完全回发?
Answers:
您可以使用UpdatePanel的Triggers属性来注册触发完整回发的操作。
将PostBackTrigger对象添加到该属性,包含需要触发完整回发的控件的ControlID。
<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
<ContentTemplate>
...
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="myFullPostBackControlID" />
</Triggers>
</asp:UpdatePanel>
仅添加此内容是因为没有其他人拥有。无需任何上述方法,就可以在一行代码的代码隐藏中完成此操作。只需将其放在page_load中:
Visual Basic
ScriptManager.GetCurrent(Me).RegisterPostBackControl(myButtonID)
C#
ScriptManager.GetCurrent(this).RegisterPostBackControl(myButtonID);
this
或page
从这里:
使用PostBackTrigger控件可以启用UpdatePanel内部的控件以引起回发而不是执行异步回发。
<Triggers>
<asp:PostBackTrigger ControlID="controlID" />
</Triggers>
这是一个古老的问题,当所有内容都在更新面板中并且您想要进行完整回发以使您的Document.Ready 代码在单击时起作用时,也有一些棘手的方法。
1.在更新面板外创建一个虚拟按钮,然后从后面的代码中单击它,如下所示
ScriptManager.RegisterStartupScript(Page, this.GetType(), "ResetDoc", "ResetDocumentReady();", true);
2.像这样在前端定义功能
function ResetDocumentReady() {
$("[id$=DummyButton]").click();
}
注意:但是最好的方法是使用触发器,即@Thibault Falise发布的答案:)