Наследование от asp: GridView - PullRequest
       13

Наследование от asp: GridView

3 голосов
/ 27 февраля 2012

У меня есть несколько страниц, все из которых имеют GridView элемент управления. Внутри этого элемента управления есть несколько событий, которые необходимо реализовать (OnRowDataBound, OnEditing и т. Д.)

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

1 Ответ

2 голосов
/ 27 февраля 2012

Обычный способ сделать это - поместить ваш GridView в UserControl

Если вы разместите свою сетку на пользовательском элементе управления и подпишитесь на все события там, то вы можете повторно использовать эту реализацию в любом месте приложения - вы, по сути, просто оборачиваете пользовательский элемент управления нужной вам функциональностью, а затем повторное использование этой оболочки везде.

Замечательно, что вам нужно всего лишь один раз написать код подключения.

Это то, что я думаю, ты хочешь сделать.

Если вы хотите расширить или обработать эти события вне пользовательского контроля, вам нужно будет переопределить их (то есть добавить свои собственные обработчики событий и позволить им всплыть).

Вы не можете заставить никого подписаться на ваши события.

Если вы хотите принудительно реализовать реализацию событий, вы можете поместить события в интерфейс и реализовать этот интерфейс в классе или элементе управления, в который вы добавляете его. Поскольку события находятся в интерфейсе, вы не сможете скомпилировать, пока интерфейс не будет реализован.

Если у вас есть конкретный вариант использования, я могу попытаться добавить пример.

...