asp.net – 在离开Gridview页面后维护GridView当前页面索引

前端之家收集整理的这篇文章主要介绍了asp.net – 在离开Gridview页面后维护GridView当前页面索引前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在ASP.NET Web表单上有一个GridView,它已绑定到数据源并将其设置为每页有10条记录.

我还在GridView上有一个超链接列,这样用户就可以从列表中导航到另一个页面(详细信息页面).在详细信息页面上,他们有“返回”按钮返回到GridView页面

编辑
只是为了澄清查询

我正在服务器端寻找如何指定页面索引以在数据绑定后设置GridView的示例代码片段.这个想法是确保用户导航到他们所在的相同页面索引.

解决方法

您可以使用的三个基本选项:查询字符串,会话,cookie.他们每个人都有自己的缺点和优点:

>使用查询字符串将要求您使用gridview格式化通向页面的所有链接,以在查询字符串中包含正确的信息(最终可能不仅仅是页码).
>如果您确定每个浏览器实例都想要转到相同的网格视图,则使用会话将起作用,否则您将必须使用某个ID键标记您的会话变量,该ID键可以对每个网格视图页面进行唯一标识.这可能导致会话管理很多变量,这些变量可能是完全不合需要的,因为大多数变量只能通过超时到期.
>使用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
        }
    }
}

猜你在找的asp.Net相关文章