次の方法で共有


MVC1006: TagHelpers を含むメソッドは非同期で、Task を返す必要があります

価値
ルール識別子 MVC1006
修正が破壊的であるか非破壊的であるか あり

原因

同期的に実行される Razor 関数内でタグ ヘルパーが定義されました

ルールの説明

タグ ヘルパーの実行は非同期です。 Razor Page 内のメソッドまたはラムダ内で使用する場合は、包含関数も非同期として宣言する必要があります。

次の cshtml ファイルについて考えてみましょう。

void Helper(string controller)
{
    <a asp-controller="@controller">Home</a>
}

asp-controller はタグ ヘルパーであり、このルールをトリガーします。

違反を修正する方法

関数を非同期として宣言し、Task が返します。

async Task Helper(string controller)
{
    <a asp-controller="@controller">Home</a>
}

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

この規則による警告は抑制しないでください。