首页 新闻 搜索 专区 学院

.net 分页

0
[已关闭问题] 关闭于 2010-07-28 16:17

我做了个分也,我的当前页是用ViewState["pager"]然后/public int Pager
        {
            get
           {
               return (int)ViewState["Page"];
           }
            set
            {
                ViewState["Page"] = value;
            }
        }

这样,但是只要一刷新就回到第一页了,我用 private static int Pager;这个呢,你不管怎么跳,然后回到你先前的页面的时候你走的时候是第几页他它还是第几页,请问有什么别的方法吗?我要的是刷新的时候是显示的是第几页刷新后就是第几页,然后跳到别的页面回来的时候是第一页

问题补充: 谢谢各位,这个问题我已经解决了!是用request和Response做的
°潶、緤°的主页 °潶、緤° | 初学一级 | 园豆:17
提问于:2010-07-13 19:08
< >
分享
所有回答(5)
0

一刷新就回第一页是肯定的。因为viewstate是只保留当前页的数据,你刷新就是重新请求页面了,viewstate当然就被清空了。

如果要“刷新的时候是显示的是第几页刷新后就是第几页”,这个的话,用session或者cookies。

至于“然后跳到别的页面回来的时候是第一页”这句我不太看的懂。

kyo-yo | 园豆:5587 (大侠五级) | 2010-07-13 19:28
0

这个

public int Pager
{
get
{
return (int)ViewState["Page"];
}
set
{
ViewState[
"Page"] = value;
}
}

 

修改下:

public int Pager
{
get
{
object obj=ViewState["Page"];
if(obj==null ) return 0;

return (int)ViewState["Page"];
}
set
{
ViewState[
"Page"] = value;
}
}

 

并且在处理翻页的时候要 给定当前页面值赋值给Pager.

如果你已经这样处理了。可能是在加载事件中所涉及的代码中有给Pager赋值为0的代码

老虞 | 园豆:99 (初学一级) | 2010-07-13 20:01
0

用另一个 ViewState 或全域变量,暂存 GridView 目前所在的页码

//暂存 GridView 目前所在的页码
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex
= e.NewPageIndex;
//GridView1.DataBind();

ViewState[
"pager"] = e.NewPageIndex;
}
}

 

//取出 ViewState["pager"] 中暂存的页码,重新设置给 GridView
protected
void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
{

if (ViewState["pager"] != null)
{
GridView1.PageIndex
= (int)ViewState["pager"];
//GridView1.DataBind();
}
}
WizardWu | 园豆:1402 (小虾三级) | 2010-07-14 00:37
您用 get, set 应也可以,只是要在 GridView 控件的 PageIndexChanging、SelectedIndexChanging 这两个事件里,去存入、取出暂存的页码。
支持(0) 反对(0) WizardWu | 园豆:1402 (小虾三级) | 2010-07-14 00:39
0

        public string Pager //想要保持状态得这样写。
        {
            get
            {
                object o = ViewState["Pager"];
                if (o != null)
                {
                    return (string)o;
                }
                return string.Empty;
            }
            set
            {
                ViewState["Pager"] = value;
            }
        }

Astar | 园豆:40805 (高人七级) | 2010-07-14 08:07
0

一楼的说的对

Weber丶逸轩 | 园豆:233 (菜鸟二级) | 2010-07-14 11:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册