1

我有一个包含复选框的gridview。当我单击它们时,它会转到 SelectedRss_Click 功能,因此我可以保留数据。但是,当我更改 gridview 的页面时,已选中的复选框未选中。我怎么解决这个问题。

我的 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;
         }
    }
}
4

1 回答 1

1

视图状态

这是因为到页面生命周期结束时,所有控件都会丢失Disposed和丢失。State of the Page

  • 预防措施

    在更改页面时GridViewPageindexChanging如果出现GridView,保存当前页面的选中复选框行详细信息ViewStateViewState同样,您可以从未选中的 GridView行中删除这些CheckBox行。

  • 纠正措施

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

于 2012-04-15T12:32:14.607 回答