Как заставить ActionFilter на методе действия иметь приоритет по тому же ActionFilter на контроллере

Если вы спешите или используете целое число вместо бита. (Я делаю это в случае, если у вас есть третий вариант позже, и ваш yes/no становится yes, no, octopus, как всегда делает мой, вот простой и быстрый грязный способ ... объявить вашу переменную в верхней части Razor view:

@model MyModel
@using My.Models;
@{
    ViewBag.Title = "Index";
    ViewBag.ReturnUrl = "";
    string Active = ""; //This will hold your "Yes" or "No"
 }

По мере того, как вы просматриваете свои элементы ... Следующий код установит для вашей строковой переменной Active значение «Да» или «Нет», а затем вы просто отобразите ее как есть на страница (без разметки @Html.DisplayFor(...).

@{if (item.Active == 0){Active = "No";}else{Active = "Yes";}}
@Active

Если вы еще не знаете, окружение всего оператора «если» с @{} облегчает жизнь - нет необходимости в @) в скобках ...

5
задан Community 23 May 2017 в 12:30
поделиться

1 ответ

Фильтр может иметь приоритет над другим фильтром, если для каждого фильтра указать свойство «Порядок». Например ...

[MyFilter(Order=2)]
public class MyController : Controller
{
    [MyFilter(Order=1)]
    public ActionResult MyAction()
    {
        //...
    }
}

В этом примере фильтр для метода действия будет выполняться перед фильтром на контроллере.

HTH

8
ответ дан 13 December 2019 в 22:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: