在 ASP.NET MVC 中,使用正确的类型化对象呈现用户控件时遇到类型错误
Posted
技术标签:
【中文标题】在 ASP.NET MVC 中,使用正确的类型化对象呈现用户控件时遇到类型错误【英文标题】:In ASP.NET MVC I encounter an incorrect type error when rendering a user control with the correct typed object 【发布时间】:2010-09-05 13:18:02 【问题描述】:我遇到以下形式的错误:“传递到字典中的模型项的类型为 FooViewData,但此字典需要 bar 类型的模型项”,即使我传入了正确类型 (bar) 的对象键入的用户控件。
【问题讨论】:
【参考方案1】:@MattMitchell 所说的可能是您看到此错误的原因。
如果你想知道为什么;这是因为当您在使用 RenderUserControl() 时将 null 作为 controlData 参数传递时,框架将尝试将视图数据从当前视图上下文传递到用户控件(参见 System.Web.Mvc 中的 UserControlExtensions.DoRendering 方法)。
【讨论】:
【参考方案2】:可能发生的情况是渲染用户控件时提供的对象实际上是空的。
【讨论】:
以上是关于在 ASP.NET MVC 中,使用正确的类型化对象呈现用户控件时遇到类型错误的主要内容,如果未能解决你的问题,请参考以下文章
Asp.net MVC 中Controller返回值类型ActionResult