может ли кто-нибудь помочь мне со следующей проблемой ?: Я создаю checkboxlist для динамического управления каждым элементом в моем списке с категориями. Я помещаю каждый checkboxlist в соответствующий div.проблемы с поиском checkboxlist ID с findcontrol
CheckBoxList cblist = new CheckBoxList();
foreach (Category cat in Data.Instance.Listcategorys())
{
if (category.TypeID == parameterid)
{
ListItem item = new ListItem(category.Name, category.ID.ToString());
cblist.ID = "cblist" + parameterid;
divRowHeader.Controls.Add(cblist);
cblist.Items.Add(item);
}
}
Каждый чек-бокс содержит свои собственные предметы, основанные на «параметрике».
я должен проверить, какие детали проверены, так сделал я цикл по каждому элементу, чтобы найти элемент управления:
foreach (Control c in div.Controls)
{
CheckBoxList cblfound = (((CheckBoxList)c.FindControl("???")));
foreach (ListItem item in cblfound Items)
{
if (item.Selected)
{}
}
проблема здесь. .Net создает свои собственные идентификаторы для каждого Checkboxlist. Как я могу найти элемент управления с помощью .findcontrol? им с помощью .net 3.5
заранее спасибо
Почему вы не используете 'linq'? –
Что делать? добавив checkboxlistID в списки или что-то еще? – user3114347
FindControl, согласно MSDN, предназначен для поиска элемента управления, идентификатор которого неизвестен во время разработки. Вы сами создаете контроль и заселяете его, поэтому вам следует «знать», какой контроль вы ищете, когда хотите посмотреть, что было проверено. Я думаю, что в вашем дизайне или мыслительном процессе есть разъединение. –