0

我的页面上有两个 asp.net 更新面板。其中一个有一个复选框,另一个有一些标签。我想在选中/取消选中复选框时更新第二个更新面板的内容。我正在使用以下代码:

 var prm = Sys.WebForms.PageRequestManager.getInstance();
 prm._doPostBack('UpdatePanel2', '');

但它正在整页回发。

请提出解决方案。

4

2 回答 2

1

您可以将复选框的 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;
}
于 2012-06-21T15:49:48.223 回答
0

看来您正在寻找更新面板触发器,您不需要通过 javascript 来触发它...

于 2012-06-21T15:47:46.807 回答