0

I have this in my Account controller :

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");
}

and in my view i call this with: @ViewBag.IsApproved

and the result in browser is this:

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

How to get for each user true or false (separately for every user)

Manfred Radlwimmer
  • 13,257
  • 13
  • 53
  • 62
Biljana
  • 21
  • 3

1 Answers1

0

It looks like you are returning list of users.

You have to use @model IEnumerable<MembershipUser> in your view and iterate through that enumaration to get IsApproved for each user.

Anwar Ul-haq
  • 1,851
  • 1
  • 16
  • 28