2

我有一个实体框架 4.1 的 mvc3 Web 应用程序。我创建了两个角色——用户和管理员。当我以管理员身份登录我的应用程序时,我希望看到表中记录旁边的删除链接。但是,如果用户登录,我只希望他们看到编辑和详细信息,而不是删除。最好的方法是什么?

4

1 回答 1

1

这是一个有多个答案的混合包。有两种很好的方法可以做到这一点。

一种是根据登录用户在控制器(或 Global Application_Request)中创建所有链接并将其传递给视图。我不喜欢这个,因为控制器创建的链接在我看来是视图的责任。

第二种方法是手动检入视图本身。它很简单很干净,但它是视图中的逻辑。

部分菜单.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 回答