2015-11-06 40 views
0

所以我試圖在我的MVC項目中使用實體框架,我不知道如何顯示/隱藏頁面的一部分給具有特定角色的用戶?現在我只知道我可以在[authorize]後面隱藏控制器/操作,但是我想知道如何只能隱藏頁面的一部分?如何用ASP標識隱藏部分頁面?

例如:只有管理員可以在其他用戶發佈的帖子上看到「刪除」按鈕。或者另一個例子:用戶可以upvote帖子,但不是如果他們自己發佈帖子。

回答

1

你可以使用這樣的代碼,基於角色:

@if(User.IsInRole("Administrator")) 
{ 
    <div> 
     Hidden content for users 
    </div> 
} 

你也可以使用與HTML傭工這個輔助功能,顯示元件根據病情:

public static MvcHtmlString Show(this MvcHtmlString value, bool condition) 
{ 
    return condition? value : MvcHtmlString.Empty; 
} 

所以你可以隱藏刪除鏈接,如:

@Html.ActionLink("Delete", "Home").Show(User.IsInRole("Administrator")) 
+0

非常感謝你的回答我的問題! – PabloDegryse