protected int CURRENTPAGE=1;
private void lbtnPrev_Click(object sender, System.EventArgs e)
{
CURRENTPAGE=CURRENTPAGE-1;
Dopager("web_rkysdata",getfields,CURRENTPAGE,20,"Rcdh","Rcdh");
} private void lbtnNext_Click(object sender, System.EventArgs e)
{
CURRENTPAGE=CURRENTPAGE+1;
                            Dopager("web_rkysdata",getfields,CURRENTPAGE,20,"Rcdh","Rcdh");
}
这是两个linkbutton得事件处理程序,希望得到得功能是:
点击“上一个”在datagrid中显示当前页得上一页,点击“下一页”显示下一页;
Dopager("web_rkysdata",getfields,CURRENTPAGE,20,"Rcdh","Rcdh");这句是从数据库获得指定页得操作,该函数正确,因为本人用一个textbox加一个button测试过,在textbox中输入需要定位得页,点击button获取对应页;
问题:
1,点击“下一页”,第一次点击时,操作正确,再次点击时,没有反应,只是刷新了一下屏幕;
2,点击“上一页”,提示错误,说是数据库操作错误,但本人觉得不是数据库错误,原因前面已经说过;
各位大侠帮小弟一下吧,痛苦死我了

解决方案 »

  1.   

    改写:protected int CURRENTPAGE
    {
    get
    {
    if(ViewState["_CURRENTPAGE"]==null)
    return 1;
    else
    return Convert.ToInt32(ViewState["_CURRENTPAGE"]);
    }
    set
    {
    ViewState["_CURRENTPAGE"] = value;
    }
    }
      

  2.   


    protected int CURRENTPAGE=1;
    改成:
    protected static int CURRENTPAGE=1;
    试试
      

  3.   

    zhjg136
    thank u 
    problem is solved
      

  4.   


    protected int CURRENTPAGE=1;
    改成:
    protected static int CURRENTPAGE=1;绝不是好方法! 多用户访问此页面会互相影响
      

  5.   

    点上一页,下一页时候每次都要重新构件你的页面!
    CURRENTPAGE 始终初始化为1啊 所以你在第一页时候点下一页,可以得到正确的页面.
    在第2页点写一页的时候始终在第2页.
    点上一页CURRENTPAGE 为0传参的时候估计运行的存储过程出错了.
      

  6.   

    同意 Eddie005(♂) №.零零伍 (♂) 
    static 变量是全局的,每个用户都可以影响它!
    如果第1个用户在第一页,点下一页到第2页后.
    第2个用户在第1页点下一页就到了第3页.呵呵!
    建议用URL传值!