gpt4 book ai didi

c# - ASP.NET ControllerBase 扩展方法在 Razor View 上不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 19:56:10 26 4
gpt4 key购买 nike

我创建了如下扩展方法

public static class RBACExtension
{
public static bool HasPermission(this ControllerBase controller, string permission)
{
// some implementation
}
}

它在 Controller 中运行良好

public class HomeController : Controller
{
public ActionResult Index()
{
this.HasPermission("somePermission");
return View();
}
}

但它在 Razor 中不起作用。当我想使用该方法时,它不会显示在自动完成中。

ViewContext.Controller.HasPermission("somePermission")

如何使其在 Razor View 中可用?

最佳答案

将扩展方法放在像这样的命名空间中

namespace mynamespace.extensions{
public static class RBACExtension
{
public static bool HasPermission(this ControllerBase controller, string permission)
{
// some implementation
}
}
}

并在你的 View 顶部放置一个 using 语句,例如

@using mynamespace.extensions

那么这个方法将在你的 View 中可用

关于c# - ASP.NET ControllerBase 扩展方法在 Razor View 上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33520050/

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