如何获取GridView的选定ID?

时间:2015-11-30 18:29:31

标签: c# asp.net gridview

我有一个使用select的GridView。我想获取选择了哪一行的RegistrantId。我尝试了很多方法而没有运气。

C#

  GridViewRow row = GridView1.SelectedRow;
        if ((row != null))
        {
            string registrantId = GridView1.Rows[e.RowIndex].Cells[0].Value.ToString();
            PnlEdit.Visible = true;
         }

我需要弄明白要放在string registrantId =。它需要等于该行中RegistrantId的值。

例如,上面的这个尝试给了我RowIndex的编译错误,指出“EventArgs不包含RowIndex的定义。”

1 个答案:

答案 0 :(得分:1)

您可以像这样找到RowIndex:

string registrantId = GridView1.DataKeys[e.RowIndex]

这假设您在gridview

中设置了DataKeyNames属性
<asp:GridView runat="server" ID="GridView1" DataKeyNames="RegistrantId" >

此外,如果此方法由事件处理程序触发,您可能希望将空检查条件更改为:

protected void GridView1_RowSelecting(object sender, GridViewSelectEventArgs e)
{
   var registrantId = GridView1.DataKeys[e.RowIndex];
   if(registrantId != null)
   {
       PnlEdit.Visible = true;
   }

}

(您知道该行存在是因为它已被选中,并且该选择是导致事件触发的原因。空检查确认您能够从该行获取registrantId)