web-dev-qa-db-ja.com

ビュー内のASP.NET MVCチェックロール

私のビューには、ユーザーの役割に基づいて非表示にしたい管理リンクがいくつかあります。

<%= if(CHECK IF USER ROLE ADMIN) { %>
        <div class="tools">
            <ul>
                <li class="edit"><%= Html.ActionLink("Edit", "Edit", new { id = Model.storyId }) %></li>
                <li class="delete"><%= Html.ActionLink("Delete", "Delete", new { id = Model.storyId }) %></li>
            </ul>
        </div>
<%= } %>
29
Cameron
@if (this.User.IsInRole("Administrator"))
{

}
50
Pažout
<% if (Page.User.IsInRole("Admin")){ %>

<%}%>

しかし、これは私の考えではひどい考えです。 ViewDataまたはModelにビューの表示内容を表すことをお勧めします。ビューは単にビューデータを確認できます。コントローラーの基本クラスまたはアクションフィルターでは、これを繰り返し使用して、コードを1か所に存在させることができます。

23
CRice

このデータは、コントローラーまたは他のビジネスサービスによって提供される場合、「事前に決定された」データを提供する必要があるという他のほとんどの人に同意します。ページ」は、jquery、cssなどのその他の典型的なWebページ作成ツールを使用しています。

0
user514005