2012-02-27 74 views
3

我有几个页面都有GridView控件。在这一控制有需要实现几个事件(OnRowDataBoundOnEditing,等...)继承自asp:GridView

任何建议尽量从页面,这将迫使我(虚拟函数)来实现每个事件的继承?由于GridView是一个控件,我无法想象这会如何。我如何继承控件?

回答

2

这样做的一个常用方法是包含在UserControl

你的GridView如果放置在用户控制你的网格,并订阅那里所有的事件,那么你可以重复使用此实现你想要的任何地方应用程序 - 你基本上只是用你想要的功能包装用户控件,然后在任何地方重复使用这个包装。

整洁的事情是,你只需要编写一次代码。

这就是我认为你想要做的。

如果你想延长或处理用户控件外,这些事件,不过,你需要重新实现它们(即添加自己的事件处理程序和让那些泡了)。

你不能强迫任何人订阅你的活动。

如果您想要强制实施这些事件,那么您可以将这些事件放在一个接口上,然后在该类上实现该接口或将其添加到其中的控件。由于事件在界面上,因此只有在界面已经实施时才能进行编译。

如果您有特定用例,我可以尝试添加示例。

+0

那么我该如何强制每个使用此控件的页面实现所有事件?我会在这个新的用户控件中添加类似的功能,而不是特定于此控件吗? – duckmike 2012-02-27 16:09:31

+0

该页面不需要执行这些事件;它只需要订阅他们。你不能强迫某人订阅活动。如果你想确保这些事件总是被执行,那么你在你的用户控件中这样做,但它确实取决于你想要做什么。 – dash 2012-02-27 16:12:18

+0

可以请你给一个链接,已经在usercontrol中实现了gridview的包装?谢谢 – Pankaj 2012-02-28 15:49:50