【问题标题】:Remember Gridview state with checkbox [closed]记住带有复选框的 Gridview 状态[关闭]
【发布时间】:2013-09-30 14:00:23
【问题描述】:

我有一个带有网格视图的网络表单。在那个 Gridview 上有复选框。我的 gridview 中的所有项目都来自我的数据库。

我想知道的是,当我再次导航回该页面时,如何让 gridview 记住我的选择。

你能告诉我一个通用的方法吗?

谢谢!

【问题讨论】:

  • 可以使用sql server进行管理

标签: c# asp.net list gridview checkbox


【解决方案1】:

会话和 cookie
使用 Session["value"] 并将复选框激活的值放在那里。
然后onload() 检查Session["value"] 是否是某物,并将checkboxSomething 参数选为true。现在没有电脑,所以不能给你看代码。
希望你明白了。 关于您在此处找到的更多会话:

http://msdn.microsoft.com/en-us/library/ms178581%28VS.100%29.aspx

【讨论】:

    【解决方案2】:

    你可以这样做:

    ASPX:

    <asp:GridView ID="grdView" runat="server" OnRowCommand="grdView_OnRowCommand">
     <Columns>
      <asp:TemplateField>
            <ItemTemplate>
               <asp:CheckBox ID="chkBox" runat="server"
    CommandArgument='<%# ((GridViewRow) Container).RowIndex %>' CommandName="chkbocCheck"
      AutoPostBack="true"   />
               </ItemTemplate>
      </asp:TemplateField>
    

    CS:

    protected void grdView_OnRowCommand (object sender, EventArgs e)
    { 
           string part = button.CommandArgument;   
               int rowIndex = Int32.Parse(part);
              CheckBox chk= null;
              if (rowIndex != -1)
                {
                   chk= (CheckBox   )gvAlertSummary.Rows[rowIndex].Cells[0].FindControl("chkBox");
                    // Write your logic here
     } 
    }
    

    希望这会对你有所帮助。

    【讨论】:

      【解决方案3】:

      正如您所说,gridview 中的所有项目都来自数据库,那么您可以先将您的选择保存到数据库。因此,当您返回您的页面时,它将从 db 中填满,然后您再次获得填充的数据(选择)。

      另一种方法是,您可以将这些值存储在 Session 变量中或 gridview 的 rowcommand 处的 Cookie 中,并在返回页面时获取它们。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-07-14
        • 1970-01-01
        • 2014-06-27
        • 1970-01-01
        • 2022-12-03
        • 2011-08-31
        • 1970-01-01
        相关资源
        最近更新 更多