当页面在网格视图中更改时,我如何通过或保留我的复选框

本文关键字:何通过 复选框 我的 保留 网格 视图 | 更新日期: 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

这是因为在页面生命周期结束时,所有控件都会DisposedState of the Page控件将丢失。

  • 预防行动

    在更改GridView页面的同时,在GridView PageindexChanging事件中,将选中的复选框行详细信息保存在ViewState中。同样,您可以从未选中的 GridView CheckBox行中删除ViewState行。

  • 纠正措施

    ViewState中保存的记录将在 GridView 中检查PageIndexChanging事件。