代码之家  ›  专栏  ›  技术社区  ›  Enriquev

ASP.NET复选框列表问题,未获取值

  •  0
  • Enriquev  · 技术社区  · 15 年前

    然后:

    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 回复  |  直到 15 年前
        1
  •  3
  •   Jeff Sternal    15 年前

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

    asp.net接受用户发布的值,并在 PreLoad ( between 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();
        }
    }