I'm a little new at this- but I'm trying to update my MembershipUser via the built-in EditForm in the RadGrid, but it's not taking any of my edits. It doesn't produce any errors, it just updates the user with the same exact info as before, ignoring my changes. What am I doing wrong? I'd greatly appreciate any help or direction.
| protected void RadGrid1_UpdateCommand(object source, Telerik.Web.UI.GridCommandEventArgs e) |
| { |
| // Get edited row |
| GridEditableItem editedItem = e.Item as GridEditableItem; |
| // Get primary key of editted item |
| object dataKey = editedItem.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["ProviderUserKey"]; |
| //Locate the changed row in the data source |
| MembershipUser liveUser = membershipProvider.GetUser(dataKey, false); |
| // Check if user still exists in data source |
| if (liveUser == null) |
| { |
| statusLabel.Text += "Unable to locate the user for updating."; |
| e.Canceled = true; |
| return; |
| } |
| // Update new values |
| Hashtable newValues = new Hashtable(); |
| // The GridTableView will fill the values from all editable columns in the hash |
| editedItem.OwnerTableView.ExtractValuesFromItem(newValues, editedItem); |
| try |
| { |
| // Update user object with form data |
| liveUser.Email = (string)newValues["Email"]; |
| membershipProvider.UpdateUser(liveUser); |
| statusLabel.Text += "User " + liveUser.UserName + " updated."; |
| } |
| catch (Exception ex) |
| { |
| statusLabel.Text += "Unable to update user. Reason: " + ex.Message + "."; |
| e.Canceled = true; |
| } |
| // Refresh grid view data |
| RadGrid1.Rebind(); |
| } |