2012-09-25 57 views
0

我有一个buttonfield的gridview。我想更新我的数据库中的表格,并在点击按钮时更改按钮图像。什么是我可以访问行索引的最佳事件? 我已经使用RowCommand事件尝试,但不能从该事件gridview按钮字段

回答

0

我刚刚检查这里的文档http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.rowcommand.aspx

如果你看看“注”部分(以下为方便起见),你应该访问的行索引能够从CommandArguement财产获得的rowIndex:

注意:要确定引发事件,使用传递给 事件的事件参数的 CommandArgument属性的行的索引。 ButtonField类自动使用适当的索引值填充 CommandArgument属性。对于其他 命令按钮,您必须手动设置命令按钮的CommandArgument属性 。例如,当GridView控件没有启用分页 时,您可以将CommandArgument设置为 %<%#Container.DataItemIndex%>。

1

代替asp:ButtonField使用asp:TemplateFieldasp:Button内部的。设置一个CommandName说,MyCommand。现在在RowCommand事件中,这样做

var clickedRow = (GridViewRow)((Button)sender).NamingContainer; 
var clickedIndex = clickedRow.RowIndex;