我想完成这样的一个工作.我在做一个网站,里面有许多的列表,形式相同,只是分类不同.我想建立一个可复用的web用户控件来显示它,开始一切顺利,就是我要对它进行分页时产生了问题.一点分页,不会分页.这不是因为我没有处里onPageIndexChanged而是由于我是在web用户控件中进行的操作,而页面回调时web用户控件被重新初始化了.这样我就不能完成这样一个分页的工作了.想请高人指点.我如何才能完成我要的效果呢?太谢谢了.

解决方案 »

  1.   

    "而页面回调时web用户控件被重新初始化了"
    ------------------------------------------
    你是不是没有把datagrid的数据源邦定写在ispostback下呀,
    这样当然不行了
      

  2.   

    可不可以用DataSet把数据一次性取过来,针对DataSet里的数据作分页呢?
      

  3.   

    Page_Load内if(IsPostBack)
    {
    给DataGrid绑定数据要放到这里
    }
      

  4.   

    不是那个意思,大家可以试一下.在ispostBack下也没有用呀.你就是ispostback下,你自己设的变量的值还是会没了呀.不是那个问题.
    把dataset读过来放哪里呢?这个还是不能解决呀.
      

  5.   

    放到
    cache里
    然后加上cache回调!
      

  6.   

    Page_Load:
    if(not IsPostBack)
    {
     给DataGrid绑定数据
     session("data")=绑定数据
    }onPageIndexChanged:
    DataGrid.datasource=session("data")
      

  7.   

    大家请仔细看一下.我用的是web用户控件,在里面用了datagrid.
      

  8.   

    sorryif( !IsPostBack )
    {
    给DataGrid绑定数据要放到这里
    }
      

  9.   

    我再一次的强调一次,我是在web 用户控件中用了datagrid这和isPostBack无关,大哥们,问题在于如何保存状态.
      

  10.   

    if( !IsPostBack )
    {
    给DataGrid绑定数据要放到这里
    }
    只是页面处理麻烦一些,就如楼上说的
      

  11.   

    woft() 说的有理.我想知道有没有简便的方法呢?那样做好像是烦了一点呵.
      

  12.   

    将DataSet的数据排好序,用session记住当前显示的最后一条数据,下次显示时就简单点
      

  13.   

    在PageIndexChanged事件中重新绑定数据,然后分页:
    DataGrid1.DataSource = ds; DataGrid1.CurrentPageIndex = e.NewPageIndex;
    DataGrid1.DataBind();如果不想重新绑定,就得在session里存你的东西了。