且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

导航离开 Gridview 页面后维护 GridView 当前页面索引

更新时间:2023-12-01 20:02:16

您可以使用的三个基本选项:查询字符串、会话、cookie.它们各有优缺点:

The three basic options at your disposal: query string, session, cookie. They each have their drawbacks and pluses:

  1. 使用查询字符串将要求您使用 gridview 格式化所有指向页面的链接,以便在查询字符串中包含正确的信息(最终可能不仅仅是页码).
  2. 如果您确定每个浏览器实例都想要转到同一个 gridview,则使用会话会起作用,否则您必须使用某些 id 键标记会话变量,该 id 键对于相关的每个 gridview 页面都是唯一可识别的.这可能会导致对许多完全不受欢迎的变量进行会话管理,因为它们中的大多数只能在超时后过期.
  3. 使用 cookie 需要类似的东西,其中 cookie 数据存储在键/数据矩阵中(优化的哈希表可能适用于此).不建议为您正在跟踪的每个 gridview 页面使用单独的 cookie 名称,而是使用具有通用名称的 cookie 来保存所有被跟踪的 gridview 页面的数据,并在其中具有键/值结构.

一个关于设置页面索引的小代码片段.

A small code snippet on setting the page index.

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
        }
    }
}