次のように Asp.Net CheckBoxList を設定しています。
var objs = db.CoreObjectives.AsNoTracking().Where(n => n.Core_Target_ID == id && n.Current_Record == true);
foreach (var o in objs)
{
ListItem item = new ListItem();
item.Value = o.Core_Objectives_ID.ToString();
item.Text = o.Objective;
item.Selected = false;
results.Add(item);
}
lstObjectivesCore.DataSource = results;
lstObjectivesCore.DataBind();
item.Value 行でデバッグしましたが、o.Core_Objectives_ID は間違いなく整数です。しかし、後でこれを行うと:
foreach (ListItem item in lstObjectivesCore.Items)
{
if (item.Selected)
{
int id = Convert.ToInt32(item.Value);
// Other code omitted
}
}
item.Value は item.Text と同じで、文字列値、つまり「これは目標です」? 私は何か間違ったことをしていますか?