日期:2014-05-19  浏览次数:20532 次

gridview分页后的问题
我用了gridview自带的分页进行了数据的分页,当我选中一条数据后打开一个新页面进行个改,保存后我用了opener.location=opener.location对原来的gridview页面进行了刷新,此时,不管我修改的是第几页中的数据,重新绑定后总是会显示第1页,怎么样才能保持在修改前用户所查看的那一页呢?

我在用户点击修改时,用session来记录了当前是第几页,然后在我的DataBind中,当Gridview.binddata方法后根据session中的值重新设了pageindex好像也没有用,靖问大家是怎么解决这个问题的?

------解决方案--------------------
opener.location=opener.location对原来的gridview页面进行了刷新
这样刷新等于是第一次load页面,所以会显示第一页的数据

放在session中可以,不过必须先设置pageIndex,再进行数据绑定DataBind

------解决方案--------------------
主要是个绑定的问题。
你修改后做个绑定,规定绑定的页数为你修改页面的页码就是可以了。兄弟你再仔细看看你的数据绑定吧。
------解决方案--------------------
lz的问题 我也遇到过,悲哀的是被测试的当bug给提交的 汗
我是这样解决的: <a href= "EditAgree.aspx?id= <%#Eval( "AgreeID ") %> &page= <%=GridView1.PageIndex + 1 %> "> 修改 </a>
GridView1.PageIndex + 1 //带上页数

修改成功后再带着参数跳转回来
this.RedirectPage( "AgreesList.aspx?pid= " + _Page);

然后在列表页 判断 绑定gridview
if (_Page != -1)
{
GridView1.PageIndex = _Page - 1;
}
odsAgrees.SelectParameters[ "AgreeName "].DefaultValue = " ";
odsAgrees.SelectParameters[ "agreestate "].DefaultValue = "-1 ";
odsAgrees.Select();