C# 如何在不更改gridview页面索引的情况下只刷新一次网页?
我注意到,当我在gridview中删除一个项目时,页面将回发,我删除的项目在gridview中仍然可见。但当我刷新包含gridview的网页时,已删除的项目在gridview中不再可见 所以我决定我需要做一个响应。在我的代码中重定向,这样删除的项目将不再可见。它确实工作得很好,但它总是返回到gridview的第一页索引。目前我的gridview中有5个页面索引。如果我删除了页面索引5中的数据,response.redirect将执行,然后返回到页面索引1。我需要一直返回到页面索引5,以检查是否在我的gridview中删除了数据,而我的gridview实际上已被删除 现在,我在网上找到了一段代码,介绍了如何在刷新网页时保持页面索引不变。解决方案是会话。我已经将代码与会话集成在一起,但现在问题出在这里。它总是停留在您进入的最后一页索引中。假设您在gridview的页面索引5中,然后转到主页,如果您返回到包含gridview的网页,它仍将位于页面索引5中 我想做的是,当我在gridview中删除一个项目时,它将刷新网页,但gridview页面索引将位于最后一个页面索引上,您的页面索引将只插入一次,这样删除的项目将不再可见。最后,当我决定转到另一个页面(比如主页或关于页面)并返回具有gridview的网页时,它应该能够重置为gridview的第一个索引。如何做到这一点?我希望这对你们有意义 代码如下:C# 如何在不更改gridview页面索引的情况下只刷新一次网页?,c#,asp.net,database,gridview,C#,Asp.net,Database,Gridview,我注意到,当我在gridview中删除一个项目时,页面将回发,我删除的项目在gridview中仍然可见。但当我刷新包含gridview的网页时,已删除的项目在gridview中不再可见 所以我决定我需要做一个响应。在我的代码中重定向,这样删除的项目将不再可见。它确实工作得很好,但它总是返回到gridview的第一页索引。目前我的gridview中有5个页面索引。如果我删除了页面索引5中的数据,response.redirect将执行,然后返回到页面索引1。我需要一直返回到页面索引5,以检查是否在
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack){
bindgridviewguitaritems();
if (Session["pageNumber"] != null)
{
GridViewIndexChanging(GuitarItemsGridView, new GridViewPageEventArgs((int)Session["pageNumber"]));
}
}
}
protected void GridViewIndexChanging(object sender, GridViewPageEventArgs e)
{
GuitarItemsGridView.PageIndex = e.NewPageIndex;
Session["pageNumber"] = e.NewPageIndex;
//whatever your page index changing does...
}
protected void GuitarItemsGridViewBtn_Click(object sender, EventArgs e)
{
Button btn = sender as Button;
GridViewRow gridrow = btn.NamingContainer as GridViewRow;
int id = Convert.ToInt32(GuitarItemsGridView.DataKeys[gridrow.RowIndex].Value.ToString());
using (var context = new MusicStoreDBEntities())
{
var bay = (from s in context.stringInstrumentItems where s.itemId == id select s).FirstOrDefault();
context.stringInstrumentItems.Remove(bay);
context.SaveChanges();
}
bindgridviewguitaritems();
Response.Redirect("~/Pages/OverviewGuitarData.aspx");
只需使用JS在前端隐藏已删除的项目,并执行AJAX调用以从数据库中删除记录。您可以使用
UpdatePanel
。从数据库中删除该项,并使用更新的数据重新绑定网格。该行将消失,并且没有(可见)页面刷新。删除该项目后,您应执行以下操作var pageindex=guitariemsgridview.pageindex;bindgridviewguitaritems();guitariemsgridview.PageIndex=PageIndex代码>您不需要使用会话。