2017-12-05 1 views
0

Ich versuche, die userId in der AspNetUsers Tabelle gespeichert und speichern Sie es in meiner Student Tabelle während der Registrierung.Wie bekomme ich die userId eines neu registrierten Benutzers in ASP.NET MVC?

Wie erhalte ich die userId des neu erstellten Benutzer (nicht den angemeldeten Benutzer) aus der AspnetUsers Tabelle und speichern sie in einer separaten Tabelle WÄHREND der Registrierungsprozess?

Mein Controller:

public ActionResult Create(ExpandedUserDTO paramExpandedUserDTO) 
{ 
    try 
    { 
     if (paramExpandedUserDTO == null) 
     { 
      return new HttpStatusCodeResult(HttpStatusCode.BadRequest); 
     } 

     var Email = paramExpandedUserDTO.Email.Trim(); 
     var UserName = paramExpandedUserDTO.Email.Trim(); 
     var Password = paramExpandedUserDTO.Password.Trim(); 

     UserName = Email.ToLower(); 

     // Create user 

     var objNewAdminUser = new ApplicationUser { UserName = UserName, Email = Email}; 

     var AdminUserCreateResult = UserManager.Create(objNewAdminUser, Password); 

     if (AdminUserCreateResult.Succeeded == true) 
     { 
      string strNewRole = Convert.ToString(Request.Form["Roles"]); 

      if (strNewRole != "0") 
      { 
       // Put user in role 
       UserManager.AddToRole(objNewAdminUser.Id, strNewRole); 

       //Put user in student table 
       if (strNewRole == "Student") 
       { 


       } 
      } 

      return Redirect("~/Admin"); 
     } 
    } 
    catch (Exception ex) 
    { 
     ViewBag.Roles = GetAllRolesAsSelectList(); 
     return View("Create"); 
    } 
} 
+0

'objNewAdminUser.Id' ist die ID des neuen Benutzers. – Sunil

+0

'objNewAdminUser.Id' ist die userId. was möchten Sie sonst noch? – Marco

+0

Hmm, vorausgesetzt, die neue Benutzer-ID wird verwendet, um eine Rolle ein paar Zeilen darüber hinzuzufügen. Ich finde es merkwürdig, dass du diese Frage stellen musstest! – phuzi

Antwort

0

Wenn Sie erstellen den Benutzer automatisch eine ID für Sie erstellt wird.

var objNewAdminUser = new ApplicationUser { UserName = UserName, Email = Email}; 
var userId = objNewAdminUser.Id //18479b0a-17cd-4a76-9e9e-d90a8480617b 
0
you can try this 

if(AdminUserCreateResult.Succeeded == true) 
{ 
//Get Details of currently registered User 
    var RegisteredUser= SignInManager.UserManager.FindByEmail(Email); 
//Extract userid from user Details. 
    var userid=RegisteredUser.Id; 
//this will give you the ID stored in aspnetusers of currentUser 
} 
Verwandte Themen