asp.net checkboxlist问题,没有获得价值

时间:2010-03-10 21:29:43

标签: asp.net checkboxlist

    

然后:

protected void Page_Load(object sender, EventArgs e)
{
 if (!Page.IsPostBack)
 {
  CheckBoxList1.Items.Add(new ListItem("item1"));
  CheckBoxList1.Items.Add(new ListItem("item2"));
 }
 else
  CheckState();
}

问题是每次我在CheckState()中调试,CheckBoxList1.Item [0] .Selected和CheckBoxList1.Item [1] .Selected始终为false,即使实际选中了复选框!

帮助?

1 个答案:

答案 0 :(得分:3)

您需要将项目添加到页面初始化代码中的复选框列表中,而不是Page_Load

ASP.NET在PreLoadbetween Init and Load)期间获取用户发布的值并将其映射到控件。如果您尚未将项目添加到CheckBoxList,则它们尚不存在,因此ASP.NET无法选择它们。

protected void Page_Init(object sender, EventArgs e) {
    CheckBoxList1.Items.Add(new ListItem("item1"));
    CheckBoxList1.Items.Add(new ListItem("item2"));
}

protected void Page_Load(object sender, EventArgs e) {
    if (!Page.IsPostBack) {
        CheckState();
    }
}