2

複数の UpdatePanels が 1 つのページにある場合、1 つのページで asyncPostBack が発生するたびに、他のすべての html がリロードされるようです。これを回避する方法はありますか?

例.aspx

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
    <ContentTemplate>
        <div style="border: 1px solid black;">
            <asp:TextBox runat="server" ID="txtTEST1" />
            <asp:Label runat="server" ID="lblTEST1" />
            <asp:Button runat="server" ID="btnTEST1" Text="AsyncPostBack1" />
            <div onclick="this.innerHTML='Wooo!'">Click Me - UpdatePanel1</div>
        </div>
    </ContentTemplate>
</asp:UpdatePanel>

<div onclick="this.innerHTML='Wooo!'" style="padding: 1em;">Click Me. I'm not part of an Update Panel</div>

<asp:UpdatePanel ID="UpdatePanel2" runat="server"> 
    <ContentTemplate>
        <div style="border: 1px solid black;">
            <asp:TextBox runat="server" ID="TextBox1" />
            <asp:Label runat="server" ID="Label1" />
            <asp:Button runat="server" ID="Button1" Text="AsyncPostBack2" />
            <div onclick="this.innerHTML='Wooo!'">Click Me - UpdatePanel2</div>
        </div>
    </ContentTemplate>
</asp:UpdatePanel>

Example.aspx.vb

Protected Sub btnTEST1_Click(sender As Object, e As EventArgs) Handles btnTEST1.Click
    lblTEST1.Text = "Refreshed at " & DateTime.Now.ToString()
End Sub

Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Label1.Text = "Refreshed at " & DateTime.Now.ToString()
End Sub

問題のテスト

  1. HTML が UpdatePanels の内側と外側で変更されるように、「Click Me」テキストを含む 3 つの div すべてをクリックします。
  2. 「AsyncPostBack」というラベルの付いたボタンの 1 つをクリックします。どちらがクリックされても、UpdatePanels 内の 2 つの div が元のテキストにリセットされることからわかるように、両方の UpdatePanels の HTML が再レンダリングされて置き換えられます。

だから私は、同じページに複数の UpdatePanels を配置して、そのうちの 1 つに asyncPostBack イベントが発生するたびに相互に再レンダリングしないようにすることは可能ですか?

4

2 に答える 2

2

はい

  1. updatemode=条件付きに設定
  2. 更新をトリガーするトリガーを提供します。ここに例へのリンクがあります。(Google で 1 位の結果) http://ajax.net-tutorials.com/controls/updatepanel-control/
于 2012-05-24T16:36:01.847 に答える
1

パネル タグを更新するモードを追加してみてください。モードが指定されていない場合、デフォルトのモードは常にです。UpdateMode プロパティが Always の場合、UpdatePanel コントロールのコンテンツは、ページ上の任意の場所からポストバックが発生するたびに更新されます。UpdateMode に関する Microsoft ドキュメント

<asp:UpdatePanel ID="BugsListUpdatePanel" runat="server" UpdateMode="Conditional">
于 2012-05-24T16:40:01.867 に答える