エンティティ フレームワーク 4.1 を使用した mvc3 Web アプリケーションがあります。ユーザーと管理者の 2 つのロールを作成しました。管理者としてアプリケーションにログインしたときに、表のレコードの横に [削除] リンクを表示したいと考えています。ただし、ユーザーがログインした場合、編集と詳細のみを表示し、削除は表示しないようにします。これを行う最善の方法は何ですか?
1 に答える
1
これは複数の答えがある混合バッグです。それを行うには2つの素晴らしい方法があります。
1つは、ログインしたユーザーに基づいてコントローラー(またはグローバルApplication_Request)にすべてのリンクを作成し、それをビューに渡すことです。私の意見では、コントローラーによって作成されるリンクはビューの責任であるため、私はこれのファンではありません。
2番目の方法は、ビュー自体を手動でチェックインすることです。シンプルでクリーンですが、ビューではロジックです。
部分的-Menu.cshtml
<a href="/User/Attack">Boot To The Head</a>
@if (User.IsInRole("Administrator"))
{
<a href="/Admin/BootToTheHead">You Missed</a>
}
于 2012-05-14T16:13:21.457 に答える