Получить индекс Row в событии Rowcommand от Asp.net

У меня есть asp.net Gridview.

  <asp:ImageButton ID="imgBtn1" CssClass="SelectRow" runat="server" CausesValidation="false" CommandArgument='' CommandName="ViewFactors" ImageUrl="~/tadarokat/Images/factor.png" Text="" />   

Как я могу получить rowIndex в событии команды row?
Я хочу выделить (выбрать) целевую строку при запуске Rowcommand.

это ответ на ваш вопрос.

 GridViewRow gvr = (GridViewRow)(((ImageButton)e.CommandSource).NamingContainer); int RowIndex = gvr.RowIndex; 

ImageButton \ Button и т. Д.

 CommandArgument='<%# Container.DataItemIndex%>' 

фоновый код

 protected void gvProductsList_RowCommand(object sender, GridViewCommandEventArgs e) { int index = e.CommandArgument; } 

если вы создали команду gridview, например insert, update delete, в команде row вы можете получить код строки, чтобы получить индекс.

  int index = Convert.ToInt32(e.CommandArgument); 

Или вы можете использовать class control вместо своих типов:

 GridViewRow row = (GridViewRow)(((Control)e.CommandSource).NamingContainer); int RowIndex = row.RowIndex; 
  protected void gvProductsList_RowCommand(object sender, GridViewCommandEventArgs e) { try { if (e.CommandName == "Delete") { GridViewRow gvr = (GridViewRow)(((ImageButton)e.CommandSource).NamingContainer); int RemoveAt = gvr.RowIndex; DataTable dt = new DataTable(); dt = (DataTable)ViewState["Products"]; dt.Rows.RemoveAt(RemoveAt); dt.AcceptChanges(); ViewState["Products"] = dt; } } catch (Exception ex) { throw; } } protected void gvProductsList_RowDeleting(object sender, GridViewDeleteEventArgs e) { try { gvProductsList.DataSource = ViewState["Products"]; gvProductsList.DataBind(); } catch (Exception ex) { } } 

Я смог использовать ответ rahularyansharma выше в моем собственном проекте с одной незначительной модификацией. Мне нужно было получить значение конкретных ячеек в строке, на которую пользователь щелкает ссылку LinkButton. Вторая строка может быть изменена, чтобы получить значение как можно большего количества ячеек. Вот мое решение:

  GridViewRow gvr = (GridViewRow)(((LinkButton)e.CommandSource).NamingContainer); string typecore = gvr.Cells[3].Text.ToString().Trim(); 
  • Android: Как GridView auto_fit находит количество столбцов?
  • Проблемы с GridView внутри ScrollView в android
  • Lazy загружает изображения в gridView
  • Как установить GridView внутри ScrollView
  • Простой пример сетки Android, использующий RecyclerView с GridLayoutManager (например, старый GridView)
  • Пересечение столбцов GridLayoutManager Android Recyclerview
  • Полная обратная передача, вызванная LinkButton внутри GridView внутри UpdatePanel
  • добавление текстового интерфейса для перетаскивания - Android / Java
  • Как найти элемент управления в TemplateField GridView?
  • Как удалить строку из GridView?
  • разделители / разделители строк сетки андроида
  • Давайте будем гением компьютера.