Comment obtenir la valeur de la cellule dans RowUpdating Événement GridView?

Je veux obtenir la nouvelle valeur d'une cellule dans le contrôle gridview rowUpdating événement:

 roles.RoleName = gvRoles.Rows[e.RowIndex].Cells[GetColumnIndexByName(row, "RoleName")].Text;

Mais la valeur est vide.

J'ai vérifié e.NewValues qui est d'un ordre du Dictionnaire. Il contient la nouvelle valeur modifiée. Comment puis-je récupérer les nouvelles valeurs pour la mise à jour?

aspx design est:

<asp:GridView ID="gvRoles" DataKeyNames="RoleId" runat="server" 
    AutoGenerateColumns="False" GridLines="Vertical" CssClass="table 
    table-striped table-bordered" AutoGenerateEditButton="True" 
    OnRowCancelingEdit="gvRoles_RowCancelingEdit" OnRowUpdating="gvRoles_RowUpdating" 
    OnRowEditing="gvRoles_RowEditing">
    <Columns>
        <asp:BoundField DataField="RoleId" HeaderText="RoleId" ReadOnly="True" />
        <asp:BoundField DataField="RoleName" HeaderText="RoleName" ReadOnly="false" />
        <asp:BoundField DataField="Role_Description"  HeaderText="Role Description"  ReadOnly="false" />
        <asp:TemplateField HeaderText="RoleStatus">
            <EditItemTemplate>
                <asp:DropDownList ID="ddlStatus" runat="server" SelectedValue='<%# Bind("Role_Status") %>' >
                <asp:ListItem>True</asp:ListItem>
                <asp:ListItem>False</asp:ListItem>
                </asp:DropDownList>
            </EditItemTemplate>
            <ItemTemplate>
                <asp:Label ID="lblRoleStatus" runat="server" 
                    Text='<%# Bind("Role_Status") %>'>
                </asp:Label>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>
InformationsquelleAutor Hassaan | 2014-06-30