假设现在一个页面 forum.aspx
该页面里有一GridView, 
当打开页面forum.aspx?page=2 时,定向到 GridView 的第二页。
如何 实现?!当点击了GridView 的 PageIndex 的 2时(第二页), URL 改为forum.aspx?page=2,
然后再转向到 GridView   的第二页。如何实现。
谢谢各大虾们!!偶现在用的一个土方法,就是每次都 Response.Redirect("forum.aspx?page=2")
然后再页面加载时 Request.QueryString["page"] 再定向到 GridView的第X页
过程中是再次读数据库, 再绑定 GridView, 不但效率低,还很不科学,偶觉得-_-!

解决方案 »

  1.   

    自己写个分页 采用 <a href="forum.aspx?page=2">2</a> 就可以
    不过分页没那么好写,你多积累知识 慢慢想
      

  2.   

    GridView1.PageIndex = Convert.ToInt32(Request.QueryString["page"]);
      

  3.   

    楼上的几位谢谢!
    但是, 当GridView的PageIndex变成X页时, 还要将Url改为forum.aspx?page=x呢,
    但又不是重新转向
      

  4.   

    建议你不要使用GridView的翻页事件GridView所在的页面不用响应回发
    翻页浏览用超链接
    每次Page_Load直接取Request.QueryString["page"]
    将页码作为分页参数提供给:①数据访问接口或②GridView作为分页依据
      

  5.   

    我不认为使用PostBack实现诸如“翻页”这样并不需要隐藏业务逻辑的客户端行为是一种明智的做法——我承认在过去的某个时候我认为这很酷使用最普通的“超链接+URL参数”方式会让用户得到更多自由度——可以直接得到某个历史翻页结果
      

  6.   

    uno(钢盅郭子) (
    -----------------------
    谢谢,你的方法正是我现在使用的方法,但这样每次都重新查找数据,重新绑定,效率听起来貌似很低的样子。----------------------
    使用最普通的“超链接+URL参数”方式会让用户得到更多自由度——可以直接得到某个历史翻页结
    -------------------偶想到的就是这个。
      

  7.   

    难道你以为回发就不会重新访问数据库了么?我刚接触ASP.NET的时候也有这种错觉但是,除非采取了一定的缓存策略,一次搜索请求就必然伴随一次数据库访问我们能做的,就是在每次访问数据库时只取我们关心的那部分数据(比如用sql语句或存储过程在DB端分页后得到数据集)来提高效率