MVC3 - 在viewbag.message中显示角色名称

时间:2011-08-09 22:05:54

标签: asp.net-mvc-3 viewbag

在ViewBag.Message中,我想在消息中显示用户的角色。如果用户具有“客户”角色。我想添加到现有的viewbag,所以它说在Home页面Hello User123!你是客户!

1 个答案:

答案 0 :(得分:1)

您可以使用成员资格和角色提供程序来获取分配给用户的角色集合。

var user = Membership.GetUser(); //Gets currently logged in user
var roles = Roles.GetRolesForUser(user.UserName); //Gets array of role names assigned to user

角色将是一个字符串数组,因为可以将用户分配给多个角色。如果您只想使用第一个角色,可以这样做:

if( roles.Length > 0 )
{
    ViewBag.Message = string.Format("Hello Bob, you are a {0}", roles[0] ); 
}

在您的视图中,您将访问ViewBag的Message属性以显示您的消息。