Рассмотрим текущий алгоритм ниже, который выполняет итерацию через строки 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 DataKey value
checkedMsgIDs.Add(int.Parse(messagesGrid.DataKeys[msgRow.RowIndex].Value.ToString()));
}
}
Это работает как ожидалось: вы остаетесь с полностью заполненным List<int>.
Вопрос. Как вы могли бы переписать или улучшить этот алгоритм с помощью LINQ для поиска GridView для всех строк, у которых есть их Checkbox selected/checked?