Передать аргумент в контроллер из фильтра действий - PullRequest
0 голосов
/ 02 января 2019

Можно ли передать аргумент из Action Filter на контроллер и, в частности, через параметры (в 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";

    }
}

1 Ответ

0 голосов
/ 03 января 2019

вы можете использовать

 context.ActionArguments["dataComingFromActionFilter"] = "data";

для обновления существующего параметра действия. Если вам нужно добавить новый параметр, то

context.ActionArguments.Add("dataComingFromActionFilter", "data"); 

тогда вы можете достичь его с помощью действия контроллера

...