从c#转换一些代码到vb.net

law*_*tog 0 c# vb.net asp.net gridview rowdatabound

我正在转换一些类C#,VB.NET并且此行无法正确转换.我尝试了很少的在线转换器,但它们似乎没有用.

this.mGrid.RowDataBound += new GridViewRowEventHandler(RowDataBoundHandler);
Run Code Online (Sandbox Code Playgroud)

转换后VB.NET不起作用.

Me.mGrid.RowDataBound += New GridViewRowEventHandler(RowDataBoundHandler)
Run Code Online (Sandbox Code Playgroud)

以下是我从中得到的两个错误.任何人都可以帮助我,因为我的大脑已经死了.

谢谢,

Error 4 Delegate 'System.Web.UI.WebControls.GridViewRowEventHandler' requires an 'AddressOf' expression or lambda expression as the only argument to its constructor. C:\My Projects\PMS\App_Code\GridViewHelper.vb 110 62 C:\My Projects\PMS\

Error 3 'Public Event RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs)' is an event, and cannot be called directly. Use a 'RaiseEvent' statement to raise an event. C:\My Projects\PMS\App_Code\GridViewHelper.vb 110 9 C:\My Projects\PMS\

Tim*_*ter 6

您不需要在VB.NET中以编程方式注册事件处理程序.您可以使用aspx标记来声明事件处理程序(OnRowDataBound = "RowDataBoundHandler")或使用该Handles子句.您甚至可以使用一个控件,用逗号分隔它们.

Protected Sub GridView1_RowDataBound(sender As Object, e As GridViewRowEventArgs) _
    Handles GridView1.RowDataBound
End Sub
Run Code Online (Sandbox Code Playgroud)

如果您想手动添加它,请使用AddHandler:

AddHandler Me.GridView1.RowDataBound, AddressOf RowDataBoundHandler
Run Code Online (Sandbox Code Playgroud)