ユーザー入力に基づいて SQL クエリを作成するプログラミング中の Web アプリケーションがあります。現在、問題なくいくつかのチェックボックスを使用しています。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 であるため、コマンドは常に空になります。これを修正するにはどうすればよいですか?