这很难理解,我会试着清楚地描述我的问题。
我在SQL DB中有一个表:
COMMENT(idcom, content,user,idtopic);
我使用Repeater Control显示数据库中的所有注释:
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<table>
<tr>
<td>
</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 ???
答案 0 :(得分:0)
我想说最好的方法是使用一些Javascript / jQuery插件+ AJAX查询。 ASP.NET Webforms通常不会以这种方式工作(从webform的角度来看,它更适合每次更新的整个页面生命周期)。
答案 1 :(得分:-1)
当您第一次填充转发器时,将List和最大的IdComm存储在变量中,因此您将在再次在Database中执行的所有后续选择中使用它。 使用IdComm作为参数存储,并获得IdComm的所有新注释大于您作为参数传递的IDComm。 之后,在第一个请求中请求的第一个列表中添加这些新行,并在您正在使用的updatePanel中再次填充Repeater。