Поделиться через


MVC1001. Фильтры нельзя применять к методам обработчика страниц

Ценность
Идентификатор правила MVC1001
Исправление является разрушающим или неразрушающим. Неразрывный

Причина

К методу обработчика страницы IFilterMetadata был применён атрибут, реализующий Razor.

Описание правила

Razor Методы обработчика страницы выбираются после запуска выполнения фильтра MVC и, следовательно, не могут способствовать выполнению фильтров. Применение фильтра к обработчику Razor страницы не поддерживается и всегда неверно.

public class IndexModel : PageModel
{
    [MyFilter]
    public IActionResult OnGet() => Page();
}

Устранение нарушений

Удалите фильтр из обработчика и примените его к модели страницы. Если фильтр должен применяться к конкретному обработчику, рассмотрите возможность использования нескольких Razor страниц.

[MyFilter]
public class IndexModel : PageModel
{
    public IActionResult OnGet() => Page();
}

Когда следует подавлять предупреждения

Не отключайте предупреждения, создаваемые этим правилом.