Рассмотрим текущий алгоритм ниже, который выполняет итерацию через строки 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?