当新行插入SQL Server 2008 DB时,自动向Repeater Control添加新行

时间:2013-09-30 14:45:39

标签: c# asp.net sql sql-server-2008 repeater

这很难理解,我会试着清楚地描述我的问题。

我在SQL DB中有一个表:

COMMENT(idcom, content,user,idtopic);

我使用Repeater Control显示数据库中的所有注释:

<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) - &gt;在COMMENT表中插入一个新行---&gt;我必须再次将所有评论加载到Repeater (both old comments and new comments) .---&gt;因此,我使用<UpdatePanel><Timer Control> Ajax Toolkit每10秒更新一次。这太业余了,不是一个好的解决方案。

我怎样才能每隔10秒将新注释(新行)加载到Repeater中。

我一直认为Repeater是固定的,我们不能插入单行。

帮助!你能给我一些建议,通过从数据库加载数据(不直接输入)将单行插入Repeater ???

2 个答案:

答案 0 :(得分:0)

我想说最好的方法是使用一些Javascript / jQuery插件+ AJAX查询。 ASP.NET Webforms通常不会以这种方式工作(从webform的角度来看,它更适合每次更新的整个页面生命周期)。

答案 1 :(得分:-1)

当您第一次填充转发器时,将List和最大的IdComm存储在变量中,因此您将在再次在Database中执行的所有后续选择中使用它。 使用IdComm作为参数存储,并获得IdComm的所有新注释大于您作为参数传递的IDComm。 之后,在第一个请求中请求的第一个列表中添加这些新行,并在您正在使用的updatePanel中再次填充Repeater。