Share via


MVC1001: ページ ハンドラー メソッドにフィルターを適用できません

Value
ルール ID 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();
}

どのようなときに警告を抑制するか

このルールからの警告は抑制しないでください。