【发布时间】:2019-01-02 20:03:23
【问题描述】:
我可以将参数从动作过滤器传递给控制器,特别是通过参数(在 ASP.NET Core 中)吗?
例如:
public class CategoryController : Controller
{
[HttpGet]
[ServiceFilter(typeof(ApiFilter))]
public async Task<IActionResult> Index(string dataComingFromActionFilter)
{
//use dataComingFromActionFilter
}
}
还有
public class ApiFilter: IActionFilter
{
public void OnActionExecuting(ActionExecutingContext context)
{
//maybe something similar to
context.sendToActionAsArgument['dataComingFromActionFilter'] = "data";
}
}
【问题讨论】:
-
是的,它适用于 ASP.NET MVC。我正在寻找 ASP CORE 中的等效函数
-
对,对不起。但是你有控制器实例作为上下文属性,你可以使用它吗?还是 RouteData?
-
定义一个公开字典的接口。在控制器上实现该接口。将控制器属性转换为接口,并在过滤器中设置字典。您应该能够看到 action 方法中的值。
-
每个请求都有自己独特的上下文。
标签: asp.net-core .net-core action-filter