如何跨页面持久保存网格视图数据?

时间:2014-06-21 01:55:40

标签: asp.net vb.net gridview

如何在页面之间移动时保留网格视图数据。当我点击浏览器后退按钮时,数据消失了。

3 个答案:

答案 0 :(得分:0)

将数据绑定到GridView,如下所示

if(Session["GridData"] != null)
{
      gridId.DataSource = YourDataSource;
      gridId.DataBind();
}
else
{
      //Calculate YourDataSourse
      gridId.DataSource = YourDataSource;
      gridId.DataBind();

      Session["GridData"] = YourDataSource
}

答案 1 :(得分:0)

在VB.NET中,要在会话变量中设置值:

If System.Web.HttpContext.Current.Session("MyVariable") Is Nothing Then
    System.Web.HttpContext.Current.Session(“MyVariable”) = DataSource

答案 2 :(得分:0)

根据您的情况使用会话 试试这个

if ( Session["Data"] != null )
{
      DataTable dt = (DataTable)Session["Data"];
      GridView1.DataSource = YourDataSource;
      GridView1.DataBind();
}
else
{
      DataTable dt = datasource;
      GridView1.DataSource = dt;
      GridView1.DataBind();
      Session["Data"] = dt;
}

每当您的会话为空时,它将填充数据源中的数据并将您的DataTable保存到会话中。下次从会话中获取值。请注意,Session超时 20分钟。如果您的请求在20分钟后进入服务器,您将在会话中丢失数据。您可以从Session Timeout手动增加Web.Config