2013-08-24 37 views
0

我的行動尋找角色MVC 4簡單的會員

[Authorize(Roles = "Admin")] 
public ActionResult Index() 
{ 
    using (var ctx = new _dbContext()) 
    { 
     return View(ctx.UserProfiles.OrderBy(x => x.UserId).ToList()); 
    } 
} 

我想我怎麼能做到這一點,以顯示與用戶名和用戶名的角色?

更新: 視圖模型

public class AccountIndexViewModel 
{ 
    public int UserId { get; set; } 
    public string UserName { get; set; } 
    public string Roles { get; set; } 
} 

查看

@using GoldCalculator.Models 
@model IEnumerable<AccountIndexViewModel> 
      @foreach (var user in Model) 
      { 
       <tr> 
        <td>@user.UserId</td> 
        <td>@user.UserName</td> 
        <td>@user.Roles</td> 
        <td> @Html.ActionLink("X", "Delete", new { id = @user.UserName }, new { @class = "deletebtn"})</td> 
       </tr> 
      } 

輸出System.String []

+0

顯示該問題有什麼問題?你不知道如何做到這一點或什麼? – VsMaX

+0

Dunt知道如何去角色..用戶配置文件沒有角色屬性..我感覺就像愚蠢的笨蛋知道爲什麼我粘貼此代碼...只是想知道如何進入角色和用簡單會員身份顯示他們的用戶名 –

回答

2

假設你已經啓用了在應用程序中的角色和你已經創建一些角色:

using WebMatrix.WebData; 
///blah blah blah... 

///inside some action: 
var roles = (SimpleRoleProvider)Roles.Provider; 

var allRoles = roles.GetAllRoles(); 
針對特定用戶

獲取角色:

var userRoles = roles.GetRolesForUser("[email protected]"); 

回答你新的問題,試試這個:

var model = ctx.UserProfiles.OrderBy(x => x.UserId); 
var newModel = from ab in model 
      select new 
      { 
       UserName = ab.UserName, 
       UserId = ab.UserId, 
       Role = roles.GetRolesForUser(ab.UserName) 
      }; 

要指定值變量已經已經宣佈,顯然數據類型不匹配。

+0

感謝您的發帖..請參閱我的問題中的更新。 –

+0

查看我更新的帖子 – VsMaX

+0

System.String []我有這個輸出...我認爲有一些轉換問題...我更新了問題.. –