1

updatePanel に gridview があり、時間間隔ごとに更新する必要があります

私がこれまでに更新で見つけたのupdatepanelは次のとおりです。

   <asp:UpdatePanel ID="UpdatePanel2" runat="server" OnLoad="Button1_Click">
        <ContentTemplate>
            <fieldset>
            <legend>UpdatePanel</legend>
            <asp:Label ID="Label2" runat="server" Text="Panel created.">
             </asp:Label>
            <asp:Button ID="Button1" runat="server"   
           OnClientClick="__doPostBack('UpdatePanel2', '');" Text="Button" />
            </fieldset>
        </ContentTemplate>
    </asp:UpdatePanel>

そしてこのサブ

  Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
    Label2.Text = "Refreshed at " & _
        DateTime.Now.ToString()
End Sub

これは正常に機能し、パネルを更新しpostbackますが、ページ全体です。すべての画像が別のパネルにリロードされているのを見るとわかります。このパネルを毎秒更新する予定です。

質問UpdatePanel2は、ポストバックで他のパネルに影響を与えずに更新するにはどうすればよいですか

編集

もう 1 つの質問は、サーバー側の DO ポストバックで実行されるものはありますか?

ありがとう

4

1 に答える 1

3

NET 3.5 では、Web.UI.Timerコントロールがあります。

定義された間隔で、非同期または同期の Web ページ ポストバックを実行します。

UpdatePanelsと連携でき、データ (ViewState や更新されたコントロール値など) が失われないことを保証し、「単なる別の WebForm コントロール」です。ただし、Timer[部分的な] ポストバックがページのライフサイクルを通過し、グリッドを再度バインドするようにする必要があります。

正確なユースケースによっては、ページのライフサイクルとデータサイズのオーバーヘッドを最小限に抑えるために、真のAJAX アプローチを使用する方がよい場合があります。(Telerik、DevExpress、およびその他のサードパーティ ライブラリは、Grid コントロールの「軽量コールバック」をサポートしています。さらに軽量なバリアントには、jqGrid が含まれる場合があります。)

于 2012-09-18T18:35:25.407 に答える