需求现象:在RowCommand事件中获取该行DataKey值,以便编辑改行相应的数据;
解决方案: 1)模板列中的LinkButton ,需要绑定其CommandArgument='<%# Bind("ID") %>',然后在RowCommand事件中获取 绑定: <asp:TemplateField > <HeaderTemplate> <asp:LinkButton ID="deleteSelect" Text="删除选中" CommandName="DeleteSelect" runat="server"></asp:LinkButton> </HeaderTemplate> <ItemTemplate> <asp:LinkButton ID="delete" Text="删除" CommandName="DeleteRow" CommandArgument='<%# Bind("ID") %>' runat="server" ></asp:LinkButton> </ItemTemplate> </asp:TemplateField> 获取: string ID = e.CommandArgument.ToString();
2)非模板列的ButtonField,不需要绑定其CommandArgument,就可以获取 绑定: <asp:ButtonField CommandName="showprodorder" HeaderText="查看" Text="删除" > <ItemStyle Width="60px" /> </asp:ButtonField> 获取: int rowNumber = Convert.ToInt32(e.CommandArgument); string ID = dg.DataKeys[rowNumber].Value.ToString();
|
转载于:https://www.cnblogs.com/sidihu/archive/2012/04/21/2461206.html