Повторный код в элементах управления с привязкой к данным - PullRequest
0 голосов
/ 08 октября 2011

Я уверен, что мне здесь не хватает чего-то очевидного.

У меня есть около двадцати связанных с данными GridView, каждый из которых имеет некоторые общие черты. Допустим, это все списки людей, и каждый из них начинается с примерно 10 столбцов, которые являются сложными кнопками со ссылками и т.д., они все одинаковые. Остальная часть этих сеток, которые чрезвычайно широки, состоят из совершенно разных столбцов; это только первые 10 (из примерно 100) столбцов, которые дублируются.

Следовательно, у меня есть этот кусок кода, который обрабатывает эти 10 столбцов базы данных и выводит HTML, используя 10 операторов Eval () и т. Д. Это один и тот же код в каждом GridView, он повторяется 20 раз, и это явно не круто.

Я не могу просто добавить его в пользовательский или пользовательский элемент управления, потому что мне нужен GridView для создания заголовков столбцов и всего такого. Я могу , конечно, поместить пользовательский элемент управления для одного столбца и отобразить все, что я хочу, таким образом ("eval" работает так, как вложено), но он не дает мне заголовки столбцов, которые также являются сложными. .

Так вот в чем вопрос: могу ли я вырваться из шаблонного элемента управления GridView, чтобы абстрагировать этот повторяющийся код? Я почти хочу что-то вроде серверного включения или предварительно обработанную вещь, так как мне просто нужно действительно повторить текст, но мне нужно сделать это до того, как asp.net попытается скомпилировать его. Я мог бы использовать пользовательский элемент управления для отображения любого HTML, который мне нравится, но это не решает проблему, так как мне нужно генерировать код asp.net, а не HTML.

1 Ответ

0 голосов
/ 10 октября 2011

Не можете ли вы создать подкласс из Gridview и реализовать общие функциональные возможности для всех 10 видов сетки, а затем иметь дополнительные подклассы, которые реализуют определенные функции для конкретных видов сетки? Я успешно сделал это с помощью Pages (самый базовый класс имел логику аутентификации, которую унаследовали все подклассы)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...