2012-01-12 2 views
3

Как получить значение из ячейки GrivView при нажатии кнопки редактирования? Я пробовал другой ответ, но никто не работает. Я хочу, чтобы у меня была возможность получить значение идентификатора вопросника для строки при нажатии кнопки редактирования.Получить значение из ячейки ASP.NET GridView

Вот gridview im работает с.

<asp:GridView runat="server" ID="gvShowQuestionnaires" HeaderStyle-CssClass="table_header" CssClass="view" AlternatingRowStyle-CssClass="alt" AutoGenerateColumns="False" 
      DataKeyNames='QuestionnaireID' OnRowDeleting="gvShowQuestionnaires_RowDeleting" OnRowEditing="edit" ShowFooter="true" FooterStyle-CssClass="view_table_footer"> 
       <Columns> 
        <asp:BoundField DataField="QuestionnaireID" HeaderText="ID" HeaderStyle-Width="80px" ItemStyle-CssClass="bo"></asp:BoundField> 
        <asp:BoundField DataField="QuestionnaireName" HeaderText="Questionnaire Name" />   
        <asp:TemplateField HeaderText="Results" HeaderStyle-Width="150px"></asp:TemplateField> 
        <asp:CommandField HeaderText="Options" ShowDeleteButton="True" ShowEditButton="true" ItemStyle-CssClass="cart_delete"> 
        </asp:CommandField> 
       </Columns> 
      </asp:GridView> 

       <asp:label ID="ab" runat="server"></asp:label> 

Бэкэнд

protected void edit(object sender, GridViewEditEventArgs e) 
     { 

      string c = gvShowQuestionnaires.Rows[index].Cells[0].Text; 
      ab.Text = c; 

     } 
+0

Почему бы не получить его из javascript? –

ответ

7

GridViewEventArgs имеет индекс строки, редактируется. Это не похоже на то, что вы используете индекс из аргументов событий. Попробуйте это:

protected void edit(object sender, GridViewEditEventArgs e)   
{ 

    string c = gvShowQuestionnaires.Rows[e.NewEditIndex].Cells[0].Text; 
    ... 
} 
+0

Thats the one. Имейте гораздо больше, чтобы играть с сейчас. благодаря – HGomez90

1

Если вы даете поле идентификатор, вы должны быть в состоянии получить его по телефону e.item.FindControl("fieldId").

Смежные вопросы