Asp.net 如何获取gridview行的索引

Asp.net 如何获取gridview行的索引,asp.net,Asp.net,如何获取其子控件正在回发的网格视图的行索引。我知道如何获取控件并返回post,找到它的父容器,该容器返回网格视图行,然后找到它的索引。我希望在RowDataBound事件中检查selectedrow索引并设置相同的格式。是否有任何其他属性或设置直接在任何子控件回发上发出网格视图的选定索引 编辑: 例如,如果一行中有一个dropdownlist,而gridview中有某些行。然后,我需要gridview行索引,其中由于gridview行中的dropdowlist而发生回发。您可以通过以下属性在Ro

如何获取其子控件正在回发的网格视图的行索引。我知道如何获取控件并返回post,找到它的父容器,该容器返回网格视图行,然后找到它的索引。我希望在RowDataBound事件中检查selectedrow索引并设置相同的格式。是否有任何其他属性或设置直接在任何子控件回发上发出网格视图的选定索引

编辑:


例如,如果一行中有一个dropdownlist,而gridview中有某些行。然后,我需要gridview行索引,其中由于gridview行中的dropdowlist而发生回发。

您可以通过以下属性在
RowDataBound
中获取该行的索引:

protected void gridView1_RowDataBound(Object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        int index = e.Row.RowIndex;
    }
}
您可以通过获取GridView中任何子控件的索引

  • childControl.NamingContainer
    =>
  • GridViewRow
    =>
  • 行索引
例如,在
下拉列表中。SelectedIndexChanged
事件:

protected void DropDownList1_SelectedIndexChanged(Object sender, EventArgs e)
{
    DropDownList ddl = (DropDownList) sender;
    GridViewRow row  = (GridViewRow)  ddl.NamingContainer;
    int index        = row.RowIndex;
}
最后:由于您提到了“要检查selectedrow索引”,如果您实际上是在查找
GridView
本身的选定行索引,那么有一个属性专门用于此:


我需要导致postbackhere的行索引是一个在行命令链接上查找行索引的命令是的,我看到了这个,但我需要更多的内容。我经历过这一切。但我不想调用任何方法。只想以最简单的方式获取GridView的selectedindex,基于该索引,我想格式化(设计)行,并更改该行中的数据源。是的,我可以通过您的方式获取解决方案,但它需要调用单独的函数,从该获取命名容器中,然后查找行索引,我需要相同的索引而不调用它,或者我需要知道是否有任何方法可以直接为我提供SelectedIndex,以及在获得值的那一点上您想做什么?是否要从gridview中删除该行?根据该索引,我要格式化(设计)该行,并更改该行中的数据源。