可以在HTML中为模板列中的按钮如“购买”添加CommandArgument属性,如:
<asp:GridView ID="gvProduct">
  <Columns>
     <asp:TemplateField HeaderText="购买">
        <ItemTemplate>
            <asp:ImageButton ID="ImageButton1" runat="server" CommandName="buy" ImageUrl="~/images/buy.gif"  CommandArgument='<%# Container.DataItemIndex %>'/>
        </ItemTemplate>
     </asp:TemplateField>
  </Columns>
</GridView>
 

在ItemDataBound事件中可以使用e.CommandArgument来得到当前行号,进而做进一步操作