在ASP.NET MVC中,使用正确的类型化对象呈现用户控件时,我遇到了错误的类型错误
时间:2020-03-05 18:38:31 来源:igfitidea点击:
我遇到以下形式的错误:"即使我要为键入的用户传递正确类型(bar)的对象,"传递给字典的模型项的类型为FooViewData,但此字典需要bar类型的模型项"控制。
解决方案
回答
可能发生的情况是,呈现用户控件时提供的对象实际上为空。
回答
@MattMitchell所说的可能是我们看到此错误的原因。
如果我们想知道为什么;这是因为当使用RenderUserControl()时将null作为controlData参数传递时,框架将尝试将视图数据从当前视图上下文传递到用户控件上(请参阅System.Web.Mvc中的UserControlExtensions.DoRendering方法)。