Mur*_*nze 3 asp.net-mvc asp.net-mvc-4
我有这个自定义动作过滤器:
public class PermissionChecker: ActionFilterAttribute
{
private int _permissionId { get; set; }
private IUserSelectorService _userService { get; set; }
public PermissionChecker(int permissionId)
{
_permissionId = permissionId;
_userService = new UserSelectorService();
}
public PermissionChecker(int permissionId, IUserSelectorService userService)
{
_permissionId = permissionId;
_userService = userService;
}
public override void OnActionExecuting(HttpActionContext actionContext)
{
base.OnActionExecuting(actionContext);
}
}
Run Code Online (Sandbox Code Playgroud)
我把它设置在我的行动中:
public class HomeController : Controller
{
[PermissionChecker(1)]
public ActionResult Index()
{
return View();
}
}
Run Code Online (Sandbox Code Playgroud)
但它不起作用!即使在PermissionChecker的构造函数中,代码也不会传入onActionExecuting.
OnActionExecuting的签名不正确,它应该有ActionExecutingContext:
提供ActionFilterAttribute类的ActionExecuting方法的上下文.
public override void OnActionExecuting(ActionExecutingContext filterContext){
base.OnActionExecuting(filterContext);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4106 次 |
| 最近记录: |