asp listview数据源追加
本文关键字:追加 数据源 listview asp | 更新日期: 2023-09-27 18:24:48
每次刷新页面时,从数据库中引入一组记录的列表视图都会发生变化,例如,如果我有3条记录,并添加了另一条记录(第四条),当我刷新页面时时,这4条记录似乎会被添加到列表视图中!
protected void listComment_Load(object sender, EventArgs e)
{
listViewComment.DataSource = Connect.ExecuteSelect(CommandBuilder.GetAllComments());
listViewComment.DataBind();
}
我需要先使用某种刷新还是清除?我在listview加载时调用这个方法。
ASPX页面,ListView控件:
<asp:ListView ID="listViewComment" runat="server" OnLoad="listComment_Load" class="container-commentBox">
<LayoutTemplate>
<h1>
Shout Box
</h1>
<div id="itemPlaceholder" runat="server" />
</LayoutTemplate>
<ItemTemplate>
<div>
<%# Eval("username") %>:
<br />
<%# Eval("comment") %>
</div>
</ItemTemplate>
<ItemSeparatorTemplate>
<hr />
</ItemSeparatorTemplate>
执行选择:
public static DataSet ExecuteSelect(string query)
{
try
{
connection.Open();
command.CommandText = query;
command.Connection = connection;
adapter.SelectCommand = command;
using (adapter)
{
adapter.Fill(dataSet);
}
}
catch (Exception e)
{
}
finally
{
connection.Close();
}
return dataSet;
}
我找到了答案,我所需要做的就是每次调用该方法时创建一个新的DataSet
!
因此,作为ExecuteSelect方法中的第一行,我们写:DataSet dataSet = new DataSet();
如果我们重用其中有一些记录的旧数据集,那么传入的记录将在adapter.fill(dataSet)
调用中被RE-ADDED,从而显示数据集中混合的新旧记录。