0

私のページには 2 つの asp.net updatepanels があります。そのうちの 1 つにはチェックボックスがあり、もう 1 つにはいくつかのラベルがあります。チェックボックスがチェックされている/チェックされていないときに、2番目の更新パネルの内容を更新したい。私は次のコードを使用しています:

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

しかし、それは全ページのポストバックを行っています。

解決策を提案してください。

4

2 に答える 2

1

チェックボックスの AutoPostback を True に設定して、2 番目の 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 に答える