2011-08-09 8 views
0

ViewBag.Message에서 사용자의 역할을 메시지에 표시하고 싶습니다. 사용자가 "클라이언트"역할을 수행하는 경우. 기존의 뷰 백에 추가하고 싶습니다. 홈 페이지 Hello User123에 있습니다. 당신은 고객입니다!MVC3 - viewbag.message에 역할 이름 표시

+0

좋습니다. 질문 있니? –

+0

예, ViewBag에 현재 사용자의 롤 이름을 표시하려면 어떻게합니까? –

+0

ViewBag에 아무 것도 표시하지 않습니다. ViewBag는 키/쌍 값을 포함하는 사전입니다. –

답변

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의 메시지 속성에 액세스 것입니다.

관련 문제