由于很多页面中有GridView控件,在某些情况下不想让RowDataBound事件进行事件响应,也就是阻止事件响应函数的执行,如果一个页面一个页面地去gridView.RowDataBound-=OnRowDataBound改动起来将非常麻烦。
还好这些页面都是MasterPage的嵌套页面,因此可以在MasterPage的cs文件中用FindControlRecursive找到GridView
然后通过反射,找到继承自System.ComponentModel.Component的Events
protected EventHandlerList Events 方法是: |
要用EventHandlerList的public void RemoveHandler(object key, Delegate value);删除事件响应,
需要先找到key
取delegates
最后删除
完整的代码如下: