トラブルシューティング「辞書に渡されたモデルアイテムはタイプxですが、asp.net mvc
でyエラーが必要です。この一般的なASP.NET MVCエラー「辞書に渡されたモデルアイテムは「X」のタイプですが、この辞書には「Y」のモデル項目が必要です。コントローラーから送信された実際のモデルデータ。
根本原因と解決策:
問題は通常、これらのシナリオから発生します:
コントローラー - ビューモデルのミスマッチ:コントローラーアクションの返されたモデルは、ビューの@model
ディレクティブと正確に一致する必要があります。 匿名タイプまたは誤ったコレクションを使用することは、頻繁に犯されることです。
例:
// Incorrect: Anonymous type returned var model = db.Foos.Select(x => new { ID = x.ID, Name = x.Name }); return View(model); // Error if view expects @model Foo
var model = db.Foos.ToList(); // Or a single Foo object if needed return View(model);
部分的ビューモデルの競合:複雑なメインビューモデルで部分ビューを使用する場合、部分ビューはメインモデルを誤って継承する可能性があります。
メインビューでは、部分的なビューは。@model Foo
を使用します
@model Bar
正しいモデルを部分的なビューに明示的に渡します:
@Html.Partial("_BarPartial", Model.BarProperty)
レイアウトファイルがモデルを宣言する場合、そのレイアウトを使用するすべてのビューは、互換性のあるモデル(同じタイプまたは派生タイプ)も宣言する必要があります。
解決策:@Html.Action()
[ChildActionOnly]
要するに、このエラーを解決するには、コントローラーから渡されたモデルタイプが、ビューで以上がなぜ私のASP.NET MVCビューは、「辞書に渡されたモデルアイテムがタイプxのものですが、y」エラーが必要なのですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。