0

ViewBag.Message で、ユーザーの役割をメッセージで表示したいと考えています。ユーザーが「クライアント」ロールの場合。既存のビューバッグに追加したいので、ホームページに表示されます Hello User123! あなたはクライアントです!

4

1 に答える 1

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プロパティにアクセスして、メッセージを表示します。

于 2011-08-09T22:56:44.913 に答える