我有一个带有gridview的webform。在Gridview上有复选框。我的gridview中的所有项目都来自我的数据库。
我想知道的是,当我再次导航回该页面时,如何让gridview记住我的选择。
你能告诉我一个通用的方法。?
谢谢!
答案 0 :(得分:2)
会话和Cookie
使用Session["value"]
并将复选框激活的值放在那里
然后onload()
检查Session["value"]
是否为某些内容,并选中checkboxSomething参数为true。现在没有电脑,所以我无法给你看代码
希望你明白了。
关于您在此处找到的更多会议:
http://msdn.microsoft.com/en-us/library/ms178581%28VS.100%29.aspx
答案 1 :(得分:0)
正如您所说,gridview中的所有项目都来自数据库,那么您可以先将选择保存到数据库中。所以当你回到你的页面时,它将从数据库中填满,你会再次得到你的填充数据(选项)。
另一种方法是,您可以将这些值存储在Session
变量或Cookie
的{{1}} gridview中,并在返回页面时获取它们。
答案 2 :(得分:0)
你可以这样做:
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
}
}
希望这会对你有所帮助。