0

最初に私のコードは次のとおりです。

foreach (ListItem l in l_roles.Items)
                {
                    if (l.Selected)
                    {
                        SqlCommand find_r = new SqlCommand("SELECT id FROM roles WHERE rolename=@rolename", conn);
                        find_r.Parameters.AddWithValue("@rolename", l.Text);
                        f = find_r.ExecuteScalar().ToString();

                        SqlCommand fill_g_r = new SqlCommand("INSERT INTO groups_roles (group_id, role_id) VALUE (@group_id, role_id)", conn);
                        fill_g_r.Parameters.AddWithValue("@group_id", l_gr_id.Text);
                        fill_g_r.Parameters.AddWithValue("@role_id", f);
                        fill_g_r.ExecuteNonQuery();
                    }


                }

このコードをデバッグ モードでテストしているときに、リスト ボックスの項目を選択してボタンを押しても、何も起こりませんでした。

「foreach」の最後にブレークポイントを設定すると、次のことがわかります。

if (l.Selected)

は偽です。の

l.Text

私が前に選んだ正しいリストアイテムです。次のような他の可能性も試しました:

if(!l.selected) or if(l.selected == true)

誰かがアイデアを持っていることを願っていますか?

4

1 に答える 1