刚做好了一个DataGrid显示数据库中的数据,其中第一行显示name,为HyperLinkColumn,当点击名称时,传递对应的ID值到修改页面,修改完毕后,返回主页面.
当翻页时,点击名称,修改完毕后,返回主页面,此时因为刷新的时主页面,所以显示的时第一页的内容.
而我想让他显示的还是第二页的内容.
考虑到HyperLinkColumn列传值的单一性,我用一个静态变量来记录页码(用全局变量不行,当页面转到另外一个页面时,全局变量会消失),当翻页修改完毕,返回刷新主页面是,让DataGrid的CurrentPageIndex等于该静态变量,(翻页按钮控制静态变量的值)也就是显示了之前的页。
这样成功实现了页码的记忆功能。
可是问题接着出来了。当我关掉页面,重新在运行的时候,页面显示的还是上次的页码。应该是上次的静态变量没有清空的问题,我不知道在哪里清空该静态变量。在该静态变量初始化的时候也不能将它的值写为0。
当翻页时,点击名称,修改完毕后,返回主页面,此时因为刷新的时主页面,所以显示的时第一页的内容.
而我想让他显示的还是第二页的内容.
考虑到HyperLinkColumn列传值的单一性,我用一个静态变量来记录页码(用全局变量不行,当页面转到另外一个页面时,全局变量会消失),当翻页修改完毕,返回刷新主页面是,让DataGrid的CurrentPageIndex等于该静态变量,(翻页按钮控制静态变量的值)也就是显示了之前的页。
这样成功实现了页码的记忆功能。
可是问题接着出来了。当我关掉页面,重新在运行的时候,页面显示的还是上次的页码。应该是上次的静态变量没有清空的问题,我不知道在哪里清空该静态变量。在该静态变量初始化的时候也不能将它的值写为0。
!这样你的页数就可
像这样!
http://dotnet.aspx.cc/Exam/Repeater2.aspx?Page=2
int i=Convert.ToInt32(Session["id"]);
datagrid1.CurrentPageIndex=i==-1 ? 0 : i; //如果是-1的话就显示第一页,否则显示存储页
Session["id"]=-1; //使用完就置-1;
如在datagrid页html中:
function openDialog(theUrl)
{
var ret=showModalDialog(theUrl,"","dialogHeight: 500px; dialogWidth: 630px;edge: Sunken; center: Yes; help: Yes; resizable: Yes; status: Yes;")
if(ret)
{
window.location.reload(true);
}
}
name列超链接用javascript:openDialog("yoururl");
修改页完毕后返回 window.returnValue=true;即可刷新上一页,相当于f5,页数也是当前的