ASP.NET中GridView怎么获得选中行的字段值?

//GridView后台代码
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" CellPadding="4" ForeColor="#333333" GridLines="None" PageSize="5" DataKeyNames="ID" DataSourceID="userList" AutoGenerateColumns="False" OnRowDataBound="GridView1_RowDataBound" OnRowCommand="GridView1_RowCommand">
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<Columns>
<asp:BoundField DataField="ID" HeaderText="Id" SortExpression="ID"/>
<asp:BoundField DataField="LoginID" HeaderText="用户名" SortExpression="LoginID" />
<asp:BoundField DataField="Phone" HeaderText="联系电话" SortExpression="Phone" />
<asp:BoundField DataField="LoginPwd" HeaderText="密码" SortExpression="LoginPwd" />
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server">详细</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:ObjectDataSource ID="userList" runat="server" SelectMethod="GetAllUsers" TypeName="BookShopOLBLL.UserManager" OldValuesParameterFormatString="{0}">
</asp:ObjectDataSource>
//点击详细事件
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
//这里怎样获得选中行的ID字段值?

}

第1个回答  2019-02-18
解决方法有很多:
1)在你绑定GridView里隐藏你不想显示的一列:
this.GridView1.Columns[0].Visible
=
false;
//0是你不想显示的
字段名
,只能是整形;
2)你对GridView绑定,用自定义绑定;
第2个回答  2009-03-01
先在你所要选择的字段上添加一个命令:CommandName,并为它赋值,如:
<asp:LinkButton ID="LinkButton1" runat="server" CommandName="delete">详细</asp:LinkButton>

相关事件中的代码:
string str = this.GridView1.Rows[e.RowIndex].Cells[0].ToString();
或:string str = this.GridView1.DataKeys[e.RowIndex].Value.ToString();//绑定了数据源
第3个回答  2009-03-03
在GridView的CellContentClick事件中写:

string ABC = new string;
ABC = GridView.Rows[e.RowIndex].Cells["列名"].Value.ToString();

这样就把点击选中的行里的“列名”的值赋给ABC了。
第4个回答  2009-03-04
学习学习好好学习
第5个回答  2009-03-01
string id = this.GridView1.DataKeys[Convert.ToInt32(e.CommandArgument)].Value.ToString();本回答被提问者采纳
相似回答