Я уверен, что мне не хватает чего-то очевидного здесь.
У меня есть около двадцати GridView с привязкой к данным, каждый из которых имеет некоторые общие функции. Допустим, это все списки людей, и каждый из них начинается примерно с 10 столбцов, которые представляют собой сложные кнопки ссылок с наведением курсора и т. д., они все одинаковы. Остальные сетки, чрезвычайно широкие, состоят из совершенно других столбцов; дублируются только первые 10 (из 100) столбцов.
Следовательно, у меня есть этот кусок кода, который обрабатывает эти 10 столбцов базы данных и отображает этот html, используя 10 операторов Eval() и т. д. Это один и тот же код в каждом GridView, он повторяется 20 раз, и это явно не круто.
Я не могу просто добавить его в пользовательский элемент управления или пользовательский элемент управления, потому что мне нужно, чтобы GridView делал заголовки столбцов и все такое прочее. Я могу, конечно, поместить пользовательский элемент управления для одного столбца и отображать все, что я хочу, таким образом ("eval" работает вложенным), но он не дает мне заголовки столбцов, которые также сложный.
Итак, вот в чем вопрос: можно ли как-нибудь выйти из шаблонного элемента управления GridView, чтобы абстрагироваться от этого повторяющегося кода? Я почти хочу что-то вроде включения или предварительной обработки на стороне сервера, так как мне просто нужно действительно повторить текст, но мне нужно сделать это до того, как asp.net попытается его скомпилировать. Я мог бы использовать настраиваемый элемент управления для рендеринга любого HTML, который мне нравится, но это не решает проблему, поскольку мне нужно сгенерировать код asp.net, а не HTML.