记住网格视图状态,并带有复选框

本文关键字:复选框 网格 视图状态 | 更新日期: 2023-09-27 18:32:38

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

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

你能给我看一个通用的方法吗?

谢谢!

记住网格视图状态,并带有复选框

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

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

你可以这样做:

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

希望这对您有所帮助。

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

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