当页面在网格视图中更改时,我如何通过或保留我的复选框
本文关键字:何通过 复选框 我的 保留 网格 视图 | 更新日期: 2023-09-27 18:31:14
我有一个网格视图,它包含复选框。当我单击它们时,它会转到SelectedRss_Click功能,并且由于它,我可以保留数据。但是,当我更改网格视图的页面时,选中的复选框是未选中的。我该如何解决这个问题。
我的SelectedRss_Click功能。
protected void SelectedRss_Click(object sender, EventArgs e)
{
ArrayList list = new ArrayList();
ArrayList listcategory = new ArrayList();
list.Clear();
listcategory.Clear();
foreach (GridViewRow row in GridView1.Rows)
{
// Access the CheckBox
CheckBox cb = (CheckBox)row.FindControl("FeedSelector");
if (cb != null && cb.Checked)
{
string feedURL = ((HiddenField)GridView1.Rows[row.RowIndex].FindControl("HiddenField1")).Value;
string rsscategory = GridView1.Rows[row.RowIndex].Cells[2].Text.ToString();
list.Add(feedURL);
listcategory.Add(rsscategory);
Session["SelectedFeedURL"] = list;
Session["SelectedFeedCategory"] = listcategory;
}
}
}
ViewState
这是因为在页面生命周期结束时,所有控件都会Disposed
,State of the Page
控件将丢失。
-
预防行动
在更改
GridView
页面的同时,在GridView
PageindexChanging
事件中,将选中的复选框行详细信息保存在ViewState
中。同样,您可以从未选中的 GridViewCheckBox
行中删除ViewState
行。 -
纠正措施
ViewState
中保存的记录将在 GridView 中检查PageIndexChanging
事件。