【发布时间】:2012-03-17 01:24:30
【问题描述】:
我有几个页面都有GridView 控件。在该控件中,有几个事件需要实现(OnRowDataBound、OnEditing 等...)
关于从一个页面继承会迫使我(虚拟功能)实现这些事件中的每一个的任何建议?由于GridView 是一个控件,我无法想象它的外观。如何从控件继承?
【问题讨论】:
标签: asp.net gridview reusability
我有几个页面都有GridView 控件。在该控件中,有几个事件需要实现(OnRowDataBound、OnEditing 等...)
关于从一个页面继承会迫使我(虚拟功能)实现这些事件中的每一个的任何建议?由于GridView 是一个控件,我无法想象它的外观。如何从控件继承?
【问题讨论】:
标签: asp.net gridview reusability
这样做的一种常见方法是将您的 GridView 包含在 UserControl 中
如果您将网格放在用户控件上,并订阅那里的所有事件,那么您可以在应用程序中的任何地方重用此实现 - 您实际上只是用您想要的功能包装用户控件,然后到处重复使用这个包装器。
巧妙的是,您只需编写一次连线代码。
这就是我认为你想要做的。
但是,如果您想在用户控件之外扩展或处理这些事件,则需要重新实现它们(即添加您自己的事件处理程序并让它们冒泡)。
不过,您不能强迫任何人订阅您的活动。
如果您想强制实现事件,则可以将事件放在接口上,然后在您添加到的类或控件上实现该接口。由于事件在接口上,因此在实现接口之前,您将无法编译。
如果您有特定的用例,我可以尝试添加一个示例。
【讨论】: