Получить индекс 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 сохраняет выбранный элемент
  • Как реализовать Yii2 Modal Dialog на кнопке просмотра и обновления Gridview?
  • Преобразование DBContext в ObjectContext для использования с GridView
  • как найти элемент управления в шаблоне редактирования элемента?
  • Редактирование строки Gridview - динамическое связывание с DropDownList
  • Добавление заголовка в GridView (Android)
  • Как скрыть столбец (GridView), но все же получить доступ к его значению?
  • GridView - отображать заголовки на пустом источнике данных
  • Полная обратная передача, вызванная LinkButton внутри GridView внутри UpdatePanel
  • Отображение изображений из определенной папки на SD-карте с использованием gridview
  • Сортировка GridView: SortDirection всегда по возрастанию
  • Interesting Posts

    Как я могу выполнить эту функцию с помощью VBA в excel?

    Как вы переустанавливаете пакет с помощью Homebrew (Mac)?

    Создайте символическую ссылку на объединенное содержимое из трех папок

    Имеет ли смысл устанавливать антивирус в режиме Windows XP?

    Могу ли я использовать кэширование Intel RST на другом жестком диске (то есть не на ОС)?

    Скопируйте файлы с исходной структурой папок, но в формате 8.3

    Как создать пользовательские «Smart Folders» в Outlook 2011 Mac?

    Android: Как получить строку из ресурсов, используя ее имя?

    Каковы минусы отключения ProxyCreationEnabled для CTP5 кода EF

    Запуск нескольких полноэкранных экземпляров Chrome на нескольких мониторах из (пакетного) сценария

    Какие Cipher Suites включить для SSL Socket?

    Заполненная активность ADT, созданная с использованием fragmentов.

    Является ли перекрестное происхождение postMessage сломанным в IE10?

    Предложения по созданию и управлению сложными функциями в Excel

    Как изменить стиль анимации модального UIViewController?

    Давайте будем гением компьютера.