を解決します。 エラープロンプトに遭遇した場合、「辞書に渡されたモデルタイプはバーですが、この辞書にはFOOのタイプが必要です」ということは、ビュー内の予想されるモデルタイプが送信されるモデルタイプと一致しないことを意味します。
理由1:コントローラーは、間違ったモデルをビューに送信します
最も一般的な理由は、コントローラーが間違ったモデルをビューに伝えることです。これは、モデルタイプ(@model foo)がビューのモデルタイプ(@model foo)と一致しない場合に発生します。 この問題を解決するには、モデルをコントローラーの正しいタイプに明示的に変換してください。
理由2:ビューのモデルは、いくつかのビューにいくつかのビューに送信されます
いくつかのビューを使用する場合、デフォルトモデルはメインビューのモデルです。いくつかのビューが異なるモデルになると予想される場合は、明示的に指定してください:
<code class="language-csharp">var model = (Foo)db.Foos.Select(x => new { ID = x.ID, Name = x.Name });</code>
理由3:レイアウトのモデルステートメント
レイアウトはモデルを宣言でき、レイアウトを使用したすべてのビューは同じモデルまたは派生モデルを宣言する必要があります。レイアウトが異なるモデルを宣言する場合、@html.actionを使用して、レイアウトのビューの一部を初期化して返すことができます。
<code class="language-csharp">@Html.Partial("_Bar", Model.MyBar)</code>覚えておいてください、このエラーは通常、ビューの予想されるモデルタイプと一致しません。コードを慎重にチェックし、一致しないソースを見つけることにより、このエラーを効果的に解決できます。
以上がASP.NET MVCビューが「辞書に渡されたモデルアイテム」エラーを視聴するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。