【问题标题】:Rebind same gridview again再次重新绑定相同的gridview
【发布时间】:2010-11-23 21:34:08
【问题描述】:

我有 ASP.NET 页面 Page1 并且有一个 gridview。还有一个链接按钮将用户带到 Page2。而且,一旦用户单击 Page2 上的按钮,页面就会重定向到 Page1。

我想在从 Page2 回来后再次将 Page1 上的 gridview 与之前的 gridview 重新绑定。所以我在 Session 变量中传递了 gridview,并再次将它绑定到同一个 gridview,但看起来它没有绑定(没有显示 gridview)。

有什么方法可以保留 gridview 并在从另一个页面返回时重新绑定它?

谢谢!

【问题讨论】:

    标签: asp.net


    【解决方案1】:

    将 GridView 放入 Session 变量不是一个好主意,因为将其转换为字符串需要大量内存和时间,因为 Session 变量中的所有内容都存储为字符串。

    因此您可以将 DataTable 或 List (DataSource) 存储在 session 中,并基于它再次调用 BindGrid 函数。

    在 Page1.Aspx 中

    void Page_Load() { If(!string.IsNullOrEmpty(Session["dataSource"])) { gridVies.DataSource = (DataTable)Session["dataSource"]; gridView.DataBind(); } 别的 { 绑定网格(); } } void HyperLinkClicked(sender s, EventArg e) { session["dataSource"] = gridView.DataSource; Response.Redirect("`\Page2.aspx"); }

    在 Page2.Aspx 中

    Void Button_Clicked(Sender s,EventArg e) { Response.Redirect("`\Page1.aspx"); }

    【讨论】:

      【解决方案2】:

      如果您只想重新绑定它,请从您的 Page_Load 处理程序中调用绑定逻辑。

      【讨论】:

        【解决方案3】:

        如果你想持久化 GridView,你必须持久化它的数据源 f.e.一个数据表。

        【讨论】:

          猜你喜欢
          • 2017-05-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-06-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多