我想对某些操作创建权限,例如创建或更新信息(但不用于显示)。 为此,我要在所有必要方法之前添加属性,例如

[Permissions(Permissions.Admin)]
public ActionResult Create()
{
   //...
}

此外,我不想让索引页面上的链接保持活动状态。 因此,我必须在视图内部添加一些检查。

@if (checking...)
{
    @Html.ActionLink("Create New", "Create")  

}

我添加的检查越多,就越无聊,并且我需要记住的东西也越多。 怎么做对?

===============>>#1 票数:3 已采纳

您可以为此创建一个HtmlHelper。

@Html.ActionLinkUsingPermissions("Create New", "Create",Permissions.Admin)

HtmlHelper将根据当前用户的权限来决定是否显示链接。

===============>>#2 票数:2

您可以创建视图的只读版本,然后让控制器确定它应该返回哪个版本(基于您的许可)。

然后可以在局部视图中外部化共享的UI。

建议尽可能使您的视图脱离业务逻辑。

===============>>#3 票数:1

您还可以创建两个不同的视图模型。 一种用于读/写,另一种用于读。 然后使用“ 查看模板”功能,您可以让一个视图自动选择正确的模板以使用此行显示:

@Html.DisplayForModel()

  ask by Shymep translate from so

未解决问题?本站智能推荐: