2016-05-23 6 views
0

Ich habe dies in meinem Konto Controller:aktivieren/deaktivieren Benutzer in Benutzerverwaltung mit asp net mvc

public ActionResult UserActivation(string UserName) 
{ 
    setLanguage(); 
    MembershipUser user = Membership.GetUser(UserName); 

    if (user != null) 
    { 
     if (user.IsApproved == true) 
     { 
      user.IsApproved = false; 
      Membership.UpdateUser(user); 
      ViewBag.IsActive = user.IsApproved; 
      ViewBag.activationLink = "Activate"; 
     } 
     else 
     { 
      user.IsApproved = true; 
      Membership.UpdateUser(user); 
      ViewBag.IsActive = user.IsApproved; 
      ViewBag.activationLink = "Deactivate"; 
     } 
    } 
    using (var context = new UsersAndRolesModel()) 
    { 
     var users = context.aspnet_Users.OrderBy(x => x.UserName).ToList(); 
     var approved = from u in context.aspnet_Users 
         join m in context.aspnet_Membership on u.UserId equals m.UserId 
         select new { u.UserName, m.IsApproved }; 
     ViewBag.Users = users; 
     ViewBag.IsApproved = approved.AsQueryable().ToList(); 
    } 
    return View("ManageUsers"); 
} 

und meiner Ansicht nach nenne ich dies mit: @ViewBag.IsApproved

und das Ergebnis in Browser das ist:

System.Collections.Generic.List`1[<>f__AnonymousType5`2[System.String,System.Boolean]] 

Wie für jeden Benutzer wahr oder falsch (separat für jeden Benutzer)

erhalten

Antwort

0

Es sieht so aus, als ob Sie die Liste der Benutzer zurückgeben.

Sie müssen in Ihrer Ansicht @model IEnumerable<MembershipUser> verwenden und durchlaufen diese Enumeration, um IsApproved für jeden Benutzer zu erhalten.