我有一个我编程的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,因此我的命令始终为空。我该怎么做才能解决这个问题?
答案 0 :(得分:0)
其他人已经回答了我的问题,但看起来他的答案已被删除,无论是他还是今天的SO只读时段。
解决方案是在Page_Init中填充我的列表而不是Page_Load。
感谢现在匿名的受访者!