由于事件参数 GridViewCommandEventArgs 并不公开Row属性指示当前行,(DataGridCommandEventArgs 公开 Item 属性以获取当前 DataGridItem,不知 ASP.NET Team 是如何考虑这一设计的),因此需要一点“技巧”来获取此属性。

其实这是一个早就已知的问题,鉴于CSDN里面每每有人疑惑,这里稍微整理下,便于参考。

至少有三种方法可以使用,其中给 CommandArgument 绑定 RowIndex 是最常见的方法,也是 MSDN 提供的,然而实际上只需要充分利用控件层次与事件参数就足够可以回溯出来:sender 与 NamingContainer/BindingContainer,具体见代码。


ASP.NET DEMO 5:如何在GridView的RowCommand事件中获取当前的GridViewRowprotected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
    }


完整代码:

下载:/Files/Jinglecat/Demo_AccessRowOnGridViewCommand.rar

相关文章: