次の方法で共有


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

価値
ルール識別子 MVC1001
修正が破壊的であるか非破壊的であるか Non-breaking

原因

IFilterMetadataを実装する属性が、Razor Page ハンドラー メソッドに適用されました。

ルールの説明

Razor ページ ハンドラー メソッドは、MVC フィルターの実行が開始された後に選択されるため、実行するフィルターを提供できません。 Razor ページ ハンドラーにフィルターを適用することはサポートされておらず、常に正しくありません。

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

違反を修正する方法

ハンドラーからフィルターを削除し、ページ モデルに適用します。 フィルターを特定のハンドラーに適用する必要がある場合は、複数の Razor Pages を使用することを検討してください。

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

警告を抑制するタイミング

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