删除列表视图中的项后刷新数据寻呼程序
本文关键字:数据 刷新 程序 列表 删除列 视图 删除 | 更新日期: 2023-09-27 18:36:51
我的 asp.net 页面中有一个ListView
表。每一行都有删除按钮。单击按钮后,相应的项目将被删除。
我已经完成了所有这些。还要在删除项目后刷新数据。
这是我的代码:
.aspx
<asp:ListView ID="CategoriesList" runat="server" ItemPlaceholderID="PlaceHolder1" OnPagePropertiesChanging="OnPagePropertiesChanging">
<LayoutTemplate>
<table>
<tr><th>Header</th></tr>
<asp:PlaceHolder runat="server" ID="PlaceHolder1"></asp:PlaceHolder>
</table>
<asp:DataPager ID="DataPager" runat="server" PagedControlID="CategoriesList" PageSize="3" QueryStringField="page">
<Fields>
//fields goes here
</Fields>
</asp:DataPager>
</LayoutTemplate>
<ItemTemplate>
<tr><td> //item goes here </td></tr>
</ItemTemplate>
</asp:ListView>
C#
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindListView();
}
}
private void BindListView()
{
// SQL connection string, command, etc to get the data from database
DataTable DTable = new DataTable();
SDAdapter.Fill(DTable);
CategoriesList.DataSource = DTable;
CategoriesList.DataBind();
}
protected void OnPagePropertiesChanging(object sender, PagePropertiesChangingEventArgs e)
{
(CategoriesList.FindControl("DataPager") as DataPager).SetPageProperties(e.StartRowIndex, e.MaximumRows, false);
BindListView();
}
删除项目后,通过再次调用BindListView();
来更新数据。它工作得很好。
我的问题是,当最后一页中仅存在一个项目并将其删除时,DataPager
不会转到上一页。相反,它停留在同一页面中,没有数据,甚至没有表。
删除当前页面中的最后一项后,如何刷新数据寻呼器并转到上一页?
use this after your page load event
protected void Page_LoadComplete(object sender, EventArgs e)
{
// BindListView();
}
这将起作用
尝试处理已删除的事件,并从已删除的事件中绑定数据源。
<asp:ListView ID="lv1" runat="server" OnItemDeleted="lv1_ItemDeleted"></asp:ListView>
protected void lv1_ItemDeleted(object sender, ListViewDeletedEventArgs e)
{
BindListView();
}