显示数据库MVC中用户的用户角色

时间:2011-12-06 01:54:12

标签: asp.net-mvc asp.net-mvc-3

我需要显示数据库中用户的所有角色。我正在使用我在另一个SO帖子上找到的LINQ查询。我在视图中遇到代码片段时出现问题,我收到此错误:CS0103:当前上下文中不存在名称“AllUsers”。这是我的代码......

视图模型:

     public class MyViewModel
     {
         public IEnumerable<MyUser> AllUsers { get; set; }
         public List<MyUser> myList { get; set; }
     }

控制器:

    public class RoleController : Controller
    {
        public ActionResult GetUsers()
        {
            var roles = from MembershipUser u in Membership.GetAllUsers()
                    select new MyUser
                    {
                        User = u,
                        UserRoles = Roles.GetRolesForUser(u.UserName)
                    };

            List<MyUser> res = new List<MyUser>();

            foreach (MyUser u in roles)
                res.Add(u);

            MyViewModel model = new MyViewModel { AllUsers = res };

            return View(model);
       }
   }

查看(摘录):

<td>
  @if(!(bool)(ViewBag.UserNameIsFound != null))
  {                      
     @Html.ActionLink("Add as user", "CreateUser", "Account")
     <br />                     
     foreach (MyUser u in Model.AllUsers)
     {
         foreach (string role in u.UserRoles)
         {
              AllUsers = MyList.Add(currItem);
              Console.WriteLine(role + "<br />");
         }
     }
 } 
</td>

非常感谢任何帮助。提前谢谢。

2 个答案:

答案 0 :(得分:0)

我认为您需要更改视图的以下行。 我不知道什么是名为'AllUsers'的变量以及为什么AllUsers在这里?

AllUsers = MyList.Add(currItem);

答案 1 :(得分:0)

我无法得到,第10行意味着什么:

<td>
  @if(!(bool)(ViewBag.UserNameIsFound != null))
  {                      
     @Html.ActionLink("Add as user", "CreateUser", "Account")
     <br />                     
     foreach (MyUser u in Model.AllUsers)
     {
         foreach (string role in u.UserRoles)
         {
              // what means the next line? what is "AllUsers"?
10:           AllUsers = MyList.Add(currItem);
              Console.WriteLine(role + "<br />");
         }
     }
 } 
</td>

什么是AllUsers?我没有看到它被声明为局部变量。 如果您的意思是Model.AllUsers,那么您将遍历最初的Model.AllUsers,并不断将其更改为新的{{1}}。这也不是很清楚 尝试评论第10行。