1

これは理解するのが非常に難しいので、私の問題を明確に説明しようと思います。

SQL DB にテーブルがあります。

COMMENT(idcom, content,user,idtopic);

リピーター コントロールを使用して、データベース内のすべてのコメントを表示します。

<asp:Repeater ID="Repeater1" runat="server">
  <ItemTemplate>
<table>
      <tr>
         <td>
             &nbsp;
         </td>
         <td>
            <asp:Label ID="lblcontent" runat="server" Text='<%#Eval("content") %>'>
            </asp:Label>
       </td>
        <td>
                <asp:Label ID="lbluser" runat="server" Text='<%#Eval("user") %>'>
                </asp:Label>
       </td>
</tr>
</table>
   </ContentTemplate>
</asp:UpdatePanel>

私の問題は次のとおりです。クライアントの場合add a new comment (in another page)->新しい行をテーブルに挿入COMMENT--->すべてのコメントをリピーターに再度ロードする必要が(both old comments and new comments)あります.--->そのため、Ajax Toolkitを使用<UpdatePanel>して10秒ごとに更新します。<Timer Control>それはとてもアマチュアであり、良い解決策ではありません。

新しいコメント (新しい行) を 10 秒ごとにリピーターにロードするにはどうすればよいですか。

私はいつもリピーターが固定されていると考えており、単一の行を挿入することはできません.

ヘルプ!データベースからデータをロードして(直接入力するのではなく)、リピーターに単一の行を挿入するためのアドバイスをいただけますか???

4

2 に答える 2

0

これを行う最善の方法は、Javascript/jQuery プラグイン + AJAX クエリを使用することだと思います。通常、ASP.NET Web フォームはそのようには機能しません (Web フォームの観点からは、更新ごとにページのライフサイクル全体を実行することが推奨されます)。

于 2013-09-30T14:58:22.757 に答える
-1

最初にリピーターにデータを入力するときは、List と最大の IdComm を変数に格納します。これにより、データベースで行う後続のすべての選択でそれを使用できます。パラメータとして保存された IdComm を使用し、パラメータとして渡した IDComm よりも大きい IdComm を持つすべての新しいコメントを取得します。その後、最初のリクエストでリクエストした最初のリストにこの新しい行を追加し、使用しているこの updatePanel に Repeater を再度入力します。

于 2013-09-30T15:00:21.810 に答える