>>故障排除“传递到字典中的模型项为X型,但需要y” ASP.NET MVC
中的错误这个常见的ASP.NET MVC错误,“传递到字典中的模型项为'x',但是该词典需要类型'y'的模型项,”表示您的视图的预期模型与从您的控制器发送的实际模型数据。
根本原因和解决方案:
控制器视图模型不匹配:控制器返回的模型必须与您的视图中的指令完全匹配。 使用匿名类型或不正确的集合是一个常见的罪魁祸首。>
@model
<code class="language-csharp">// 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</code>
<code class="language-csharp">var model = db.Foos.ToList(); // Or a single Foo object if needed return View(model);</code>
>示例:
@model Foo
>@model Bar
解决方案:明确将正确的模型传递给部分视图:
<code class="language-csharp">@Html.Partial("_BarPartial", Model.BarProperty)</code>
解决方案:
@Html.Action()
>指令声明的类型匹配,并且部分视图接收正确的模型对象。 密切关注布局中的匿名类型和模型声明。[ChildActionOnly]
>以上是为什么我的ASP.NET MVC视图将传递到字典中的'模型项目为X型,但需要Y”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!