记住网格视图状态,并带有复选框
本文关键字:复选框 网格 视图状态 | 更新日期: 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 rowcommand
的Cookie
中,并在返回页面时获取它们。