Рассмотрим текущий алгоритм, приведенный ниже, который перебирает строки GridView
, чтобы определить, выбран ли Checkbox
выбран / проверен.
List<int> checkedIDs = new List<int>();
foreach (GridViewRow msgRow in messagesGrid.Rows)
{
CheckBox chk = (CheckBox)msgRow.FindControl("chkUpdateStatus");
if (chk.Checked){
//we want the GridViewRow's DataKey value
checkedMsgIDs.Add(int.Parse(messagesGrid.DataKeys[msgRow.RowIndex].Value.ToString()));
}
}
Это работает, как и ожидалось: у вас есть полностью заполненный List<int>
.
Вопрос : Как бы вы или могли бы переписать или улучшить этот алгоритм, используя LINQ для поиска в GridView
всех строк, для которых Checkbox
выбран / отмечен?