GridView分页后,进行添加、修改操作后如何返回到当前页码 5

分页不用URL的方法,最好给个例子。点击GridView按钮后,跳转到另一个页面进行修改操作后再再跳转回GridView列表页,定位到当前页面。请大侠指导!... 分页不用URL的方法,最好给个例子。
点击GridView按钮后,跳转到另一个页面进行修改操作后再再跳转回GridView列表页,定位到当前页面。请大侠指导!
展开
 我来答
逆长小白菜
2016-01-01 · TA获得超过2万个赞
知道大有可为答主
回答量:1.7万
采纳率:94%
帮助的人:7563万
展开全部
1.App_CODE部分SqlHelper类添加一全局静态变量gdPageIndex.

//记录GridView分页信息,全局静态变量
public static string gdPageIndex = "0";

2.主页面CodeBehind代码,前台页面很简单,一个GridView控件而已,代码省略.

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class Main : System.Web.UI.Page
{
//数据添加,编辑,删除页面简称维护页.
private string strSql = string.Empty;

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.bind(); //给GridView绑定数据.
}
}

protected void bind()
{
strSql = "SELECT ID,MNTH,STAT,L12,RPT,DRILL FROM dbo.STATINFO ORDER BY MNTH DESC";
DataSet ds = SqlHelper.GetDataSet(strSql);

this.grvMain.DataSource = ds;
this.grvMain.DataKeyNames = new string[] { "ID" };
//Session["gvPageIndex"]的值在维护页设置.
if (Session["gvPageIndex"] == null)
{
//Session["gvPageIndex"]为null,即普通的第一次加载页面,不是从维护页返回的.
if (!Page.IsPostBack)
{
SqlHelper.gdPageIndex = "0";
this.grvMain.PageIndex = 0; //普通加载,加载第一页数据.
}
}
else if (Session["gvPageIndex"] == "True")
{
//Session["gvPageIndex"]为True,即是从维护页返回的,True值在维护页设置.
if (!Page.IsPostBack)
this.grvMain.PageIndex = Convert.ToInt32(SqlHelper.gdPageIndex); //调用保存在全局变量里的PageIndex值.
Session.Clear(); //此处Session值要清空,不然刷新页面就不会在第一页.
}
this.grvMain.DataBind();
}

protected void grvMain_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
this.grvMain.PageIndex = e.NewPageIndex;
SqlHelper.gdPageIndex = e.NewPageIndex.ToString(); //将当前PageIndex的值保存进全局变量gdPageIndex.
this.bind();
}
}

3.数据维护页面.前台代码省略,一数据更新按钮btnUpdate.下面是CodeBehind代码

protected void btnUpdate_Click(object sender, EventArgs e)
{
Session["gvPageIndex"] = "True"; //设置Session["gvPageIndex"]为True
Response.Redirect("Main.aspx"); //转回主页面
}
yizusong
2008-01-07 · TA获得超过3045个赞
知道大有可为答主
回答量:4516
采纳率:0%
帮助的人:4467万
展开全部
点击编辑: protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
GridView1.DataBind();
}

取消编辑:protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
GridView1.EditIndex = -1;
GridView1.DataBind();
}

更新数据库:protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
/*你的SQL代码*/
GridView1.EditIndex = -1;
GridView1.DataBind();
}

差点忘了,你应该知道gridview的自动生成编辑按钮的属性吧?把那个true了

补充:那你添加一个模板列,类型用按钮,你的url必然是要按照gridview里面某个字段生成的,你可以在模板列button里面写上你的事件,然后新开一个窗口进行修改,这样不用保存gridview的记录
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
支崖静HE
2008-01-07 · TA获得超过682个赞
知道小有建树答主
回答量:864
采纳率:0%
帮助的人:906万
展开全部
重新绑定就可以啦! 不用EditIndex什么的.

只要DataBind();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友caef6e2bb
2008-01-07 · TA获得超过2425个赞
知道小有建树答主
回答量:1174
采纳率:0%
帮助的人:1394万
展开全部
写分页存储过程呀
你到网上查一下分页存储过程就知道了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6f75ac8fa
2008-01-07 · TA获得超过2513个赞
知道大有可为答主
回答量:1.3万
采纳率:0%
帮助的人:4000万
展开全部
把当前页记录下来啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式