为什么我的.NET CheckedListBox项没有被选中?

时间:2013-01-29 21:35:50

标签: c# asp.net .net checklistbox

我有一个我编程的Web应用程序,它根据用户输入构建SQL查询。我目前正在使用几个复选框没有问题。但是,我没有对复选框进行硬编码,而是使用以下代码在Page_Load上动态填充它们:

protected void Page_Load(object sender, EventArgs e)
{
    //init();
    sql.Open();

    if (!Page.IsPostBack)
    {

        SqlCommand cmd = new SqlCommand("SELECT DISTINCT [value] FROM [table]", sql);
        SqlDataReader rdr = cmd.ExecuteReader();
        while (rdr.Read())
            chkLst.Items.Add(rdr[0].ToString());
        rdr.Close();
    }
    sql.Close();
}

填充作品完美无缺。但是,当我尝试检索chkLst.Items.Selected属性时,它始终设置为false,从而使列表无法进行过滤。以下是我在提交时执行的代码的相关部分:

foreach (ListItem li in chkLst.Items)
    if (li.Selected)
        cmd += li.Text;

由于Selected属性始终为false,因此我的命令始终为空。我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:0)

其他人已经回答了我的问题,但看起来他的答案已被删除,无论是他还是今天的SO只读时段。

解决方案是在Page_Init中填充我的列表而不是Page_Load。

感谢现在匿名的受访者!