Asp.net Core добавляет несколько фильтров действий в один фильтр - PullRequest
0 голосов
/ 27 ноября 2018

Мне нужно создать атрибут фильтра настраиваемого действия, который содержит объявление 2 фильтров "RouteAttibute".

Мне нужно:

[Contains2Routes]
public ActionResult Index()
{
    return View();
}

Вместо:

[Route("~/index1")]
[Route("~/index2")]
public ActionResult Index()
{
    return View();
}

1 Ответ

0 голосов
/ 28 ноября 2018

Благодаря @ Кирку Ларкину с его ответом здесь , мне удалось решить эту проблему:

public class Contains2RoutesAttribute : Attribute, IActionModelConvention
{

    public void Apply(ActionModel action)
    {
        action.Selectors.Clear();

        // Adding route 1:
        action.Selectors.Add(new SelectorModel
        {
            AttributeRouteModel = new AttributeRouteModel { Template = "~/index1" }
        });

        // Adding route 2:
        action.Selectors.Add(new SelectorModel
        {
            AttributeRouteModel = new AttributeRouteModel { Template = "~/index2" }
        });
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...