gpt4 book ai didi

c# - asp.net MVC3 Razor : display actionlink based on user role

转载 作者:IT王子 更新时间:2023-10-29 03:44:14 25 4
gpt4 key购买 nike

我是 MVC 的新手。我希望能够为某些用户隐藏一些操作链接。假设我有一个“创建”操作链接,我只希望管理员看到并单击它。我想使用 asp.net 中可用的某种“loggedintemplate”,但它似乎在 razor 中不起作用。

我可以使用某种带有 if 语句的代码块来检查当前用户及其角色,但这可能不是最佳做法?

我的 index.cshtml..

// want some adminauth attribute here...
@Html.ActionLink("Create New", "Create")

我的 Controller ..

// GET: /Speaker/Create
[Authorize(Roles = "Administrators")]
public ActionResult Create()
{
return View();
}

最佳答案

我过去创建了一个辅助函数,仅在满足条件时才返回输出,如下所示:

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

所以你可以使用这个:

@Html.ActionLink("Create New", "Create").If(User.IsInRole("Administrators"))

这样就清晰易读了

关于c# - asp.net MVC3 Razor : display actionlink based on user role,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6981853/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com