从ASP.NET GridView单元格获取值

3
当单击编辑按钮时,我该如何获取GrivView单元格中的值? 我已经尝试了其他答案,但似乎都不起作用。 我想在单击编辑按钮时能够获取行的Questionnaire ID的值。
以下是我正在使用的GridView。
<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;

        }

为什么不从 JavaScript 中获取它呢? - Gavin Fang
2个回答

8
GridViewEventArgs包含正在编辑的行的索引。看起来你没有使用事件参数中的索引。请尝试以下方法:
protected void edit(object sender, GridViewEditEventArgs e)         
{

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

那就是它了。现在有更多的东西可以玩耍了。谢谢。 - HGomez

1
如果你给字段设置了一个ID,那么你就可以通过调用e.item.FindControl("fieldId")来获取它。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接