我在ASP.NET Web表单上有一个GridView,它已绑定到数据源并将其设置为每页有10条记录.
我还在GridView上有一个超链接列,这样用户就可以从列表中导航到另一个页面(详细信息页面).在详细信息页面上,他们有“返回”按钮返回到GridView页面
我正在服务器端寻找如何指定页面索引以在数据绑定后设置GridView的示例代码片段.这个想法是确保用户导航到他们所在的相同页面索引.
解决方法
您可以使用的三个基本选项:查询字符串,会话,cookie.他们每个人都有自己的缺点和优点:
>使用查询字符串将要求您使用gridview格式化通向页面的所有链接,以在查询字符串中包含正确的信息(最终可能不仅仅是页码).@H_502_5@>如果您确定每个浏览器实例都想要转到相同的网格视图,则使用会话将起作用,否则您将必须使用某个ID键标记您的会话变量,该ID键可以对每个网格视图页面进行唯一标识.这可能导致会话管理很多变量,这些变量可能是完全不合需要的,因为大多数变量只能通过超时到期.@H_502_5@>使用cookie需要类似的地方,其中cookie数据存储在密钥/数据矩阵中(优化的哈希表可能适用于此).不建议为您正在跟踪的每个gridview页面都有一个单独的cookie名称,而是使用一个具有通用名称的cookie,该cookie保存所有跟踪的gridview页面的数据以及具有键/值结构的内部.
protected void Page_Load(object sender,EventArgs e) { if(!IsPostBack) { try { if(HttpContext.Current.Request["myGVPageId"] != null]) { myGridview.PageIndex = Convert.ToInt32(HttpContext.Current.Request["myGVPageId"]); } } catch(Exception ex) { // log it } } }