Solved

Can't Update Members database Membership.UpdateUser

Posted on 2008-06-16
4
1,194 Views
Last Modified: 2010-04-21
Hi

I have been having a problem updating the ASPNETDB.MDF Created by Visual Studio when creating Membership forms like login new user etc

I Have created a GridView to edit existing user in this database updating Roles works but when i try to Update fields like Email or ISApproved it is not save the changes to the database

    protected void gdvEdit_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        int intIndex = Convert.ToInt32(e.RowIndex);
     

        TextBox txtUserName = (TextBox)gdvEdit.Rows[intIndex].FindControl("txtUserName");
        TextBox txtEmail = (TextBox)gdvEdit.Rows[intIndex].FindControl("txtEmail");
        CheckBox chkEditIsLockedOut = (CheckBox)gdvEdit.Rows[intIndex].FindControl("chkEditIsLockedOut");
        ListBox lsbRoles = (ListBox)gdvEdit.Rows[intIndex].FindControl("lsbRoles");

        //Remove all Roles From User
        string[] userRoles = Roles.GetRolesForUser(gdvEdit.DataKeys[intIndex][0].ToString());
        foreach (string strRole in userRoles)
        {
            Roles.RemoveUserFromRole(gdvEdit.DataKeys[intIndex][0].ToString(), strRole);
        }

        //Replace with new selection of roles
        for (int i = 0; i < lsbRoles.Items.Count; i++)
        {
            if (lsbRoles.Items[i].Selected == true)

                Roles.AddUserToRole(gdvEdit.DataKeys[intIndex][0].ToString(), lsbRoles.Items[i].Value);
        }

        string UserName = gdvEdit.DataKeys[intIndex][0].ToString();
        MembershipUser UserDetails = Membership.GetUser(UserName);

        //Update User Details
        UserDetails.IsApproved = true;
        UserDetails.Email = txtEmail.Text.Trim();

        if (chkEditIsLockedOut.Checked == false) { UserDetails.UnlockUser(); }
        Membership.UpdateUser(UserDetails);

        //Rebind GridView
        gdvEdit.EditIndex = -1;
        Bind_gdvEdit();
    }

Any Ideas on why this maybe happing would be appreciated

Thanks
John
0
Comment
Question by:Filtered
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
4 Comments
 

Author Comment

by:Filtered
ID: 21818279
Hi

If anyone would like me to send them the project (it is quite small only has few pages and the database) so that they could step through the code and detect something that i'm unaware of i will gladly send it to them by email as I can not  upload the project to this site even as a zip file.

Thanks
John
0
 
LVL 13

Accepted Solution

by:
joechina earned 500 total points
ID: 21822341
Have you tried to move

 if (chkEditIsLockedOut.Checked == false) { UserDetails.UnlockUser(); }

down after the update?

UnlockUser might update the database first(You can do a quick check), so when you update the user, the record status is different from when you get the user.
0
 

Author Closing Comment

by:Filtered
ID: 31467842
Thank you very much joechina that has done the trick :)
0

Featured Post

On Demand Webinar: Networking for the Cloud Era

Did you know SD-WANs can improve network connectivity? Check out this webinar to learn how an SD-WAN simplified, one-click tool can help you migrate and manage data in the cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Problem Hi all,    While many today have fast Internet connection, there are many still who do not, or are connecting through devices with a slower connect, so light web pages and fast load times are still popular.    If your ASP.NET page …
Real-time is more about the business, not the technology. In day-to-day life, to make real-time decisions like buying or investing, business needs the latest information(e.g. Gold Rate/Stock Rate). Unlike traditional days, you need not wait for a fe…
If you’ve ever visited a web page and noticed a cool font that you really liked the look of, but couldn’t figure out which font it was so that you could use it for your own work, then this video is for you! In this Micro Tutorial, you'll learn yo…
Do you want to know how to make a graph with Microsoft Access? First, create a query with the data for the chart. Then make a blank form and add a chart control. This video also shows how to change what data is displayed on the graph as well as form…

690 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question