我的页面上有两个 asp.net 更新面板。其中一个有一个复选框,另一个有一些标签。我想在选中/取消选中复选框时更新第二个更新面板的内容。我正在使用以下代码:
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm._doPostBack('UpdatePanel2', '');
但它正在整页回发。
请提出解决方案。
您可以将复选框的 AutoPostback 设置为 True 并使其成为第二个 UpdatePanel 的触发器:
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="True" />
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<ContentTemplate>
<asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="CheckBox1" EventName="CheckedChanged" />
</Triggers>
</asp:UpdatePanel>
然后您可以在复选框的“CheckedChanged”事件处理程序中添加标签更改代码,例如
protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
Label2.Text = DateAndTime.Now;
}
看来您正在寻找更新面板触发器,您不需要通过 javascript 来触发它...