動的に作成されるチェックボックスはほとんどなく、既存の選択が表示されますが、ユーザーが変更を加えたときにそれらを保存したいと思います。動的に生成および選択するコードは次のとおりです
private void Role(string role)
{
SystemUserDal dal = new SystemUserDal();
var userId = Guid.Parse(Request.QueryString["ID"].ToString());
var roles = dal.GetRolesList(userId);
foreach (KeyValuePair<Guid, string> r in roles)
{
CheckBox chk = new CheckBox();
chk.ID = r.Value;
chk.Text = r.Value;
if (role.Contains(r.Value))
{
chk.Checked = true;
}
rolepanel.Controls.Add(chk);
}
}
私は次のことを試しています
private void GetCheckBoxes()
{
foreach (Control ctrl in rolepanel.Controls)
{
CheckBox c = ctrl as CheckBox;
string id = c.ID;
string role = c.Text;
}
}
コードをステップ実行すると、カウントが 3 の foreach ループにヒットしますが、ctl は null です。手がかりはありますか?