0

请原谅我对代表的无知。我正在尝试在 asp.net WinForms 页面中为 GridView 事件注册处理程序:

Class myClass
{
    void grid_rowDataBound(object sender, GridViewCommandEventArgs e)
    { blah blah }
}

myClass myClassInstance = new myClass(); //done in Page_Load

<asp:GridView ID="server_grid" runat="server" OnRowDataBound="myClassInstance.grid_RowDataBound">
    yadda yadda
</asp:GridView>

我收到运行时错误“委托给实例方法不能有 null 'this'”。此时我唯一的解决方案是定义一个新的页面函数,它只调用我的类方法并在 OnRowDataBound 中注册该页面函数。但是没有直接的方法来为 GridView 事件注册类方法而没有间接性吗?还是所有页面控制事件都需要页面类中定义的处理程序?

4

1 回答 1

1

您可以使用以下内容,但这只是定义您已经建议的新功能的一种简短方法。

server_grid.RowDataBound += (s,e) => myClassInstance.grid_RowDataBound(s, e);
于 2012-11-20T07:43:32.197 回答