Я ищу информацию о том, как реализовать пользовательский контейнер именования для элементов в GridView. Моя проблема в том, что у меня есть GridView с ячейкой для каждого дня недели, и каждая ячейка будет содержать одинаковые или похожие элементы управления. Для одинаковых элементов управления было бы неплохо назвать их одинаково, например, "lblPersonName".
Однако, если вы это сделаете, вы не сможете использовать FindControl (), потому что он будет жаловаться, что в строке есть элементы управления с дублирующимися идентификаторами. Корень проблемы заключается в том, что контейнер именования для элементов управления в GridView - это не ячейка таблицы (DataControlFieldCell или что-либо еще), а GridViewRow.
Я не знаю, есть ли способ сделать это, но было бы неплохо иметь возможность поменять контейнер именования по умолчанию, чтобы ячейка действительно стала контейнером именования, а затем Я мог бы просто иметь одинаковые контрольные имена.
Конечно, ASPX для этого начинает становиться немного большим - я начинаю сожалеть, что я запустил проект в ASP.NET MVC ....
В любом случае, я открыт для других альтернатив, как реализовать GridView с такими элементами управления, как этот. В этот момент может быть проще использовать простую старую таблицу и динамически добавлять элементы управления ...
Для уточнения:
- Каждый столбец определяется с помощью ItemTemplate, а элементы управления находятся в ItemTemplate.
- Единственный способ заставить его работать прямо сейчас - это иметь "lblPersonNameOne", "lblPersonNameTwo" и т. Д.