Asp.net mvc 在ASP.NET MVC中,当使用正确的类型化对象呈现用户控件时,我遇到了错误的类型错误

Asp.net mvc 在ASP.NET MVC中,当使用正确的类型化对象呈现用户控件时,我遇到了错误的类型错误,asp.net-mvc,Asp.net Mvc,我遇到一个格式错误:“传入字典的模型项的类型为FooViewData,但此字典需要类型为bar的模型项”,即使我传入的对象的类型正确(bar)对于键入的用户控件。可能发生的情况是,呈现用户控件时提供的对象实际上为空。您看到此错误的原因可能是@MattMitchell所说的 如果你想知道为什么;这是因为在使用RenderUserControl()时,当您将null作为controlData参数传递时,框架将尝试将视图数据从当前视图上下文传递到用户控件上(请参见System.Web.Mvc中的Use

我遇到一个格式错误:“传入字典的模型项的类型为FooViewData,但此字典需要类型为bar的模型项”,即使我传入的对象的类型正确(bar)对于键入的用户控件。

可能发生的情况是,呈现用户控件时提供的对象实际上为空。

您看到此错误的原因可能是@MattMitchell所说的

如果你想知道为什么;这是因为在使用RenderUserControl()时,当您将null作为controlData参数传递时,框架将尝试将视图数据从当前视图上下文传递到用户控件上(请参见System.Web.Mvc中的UserControlExtensions.DoRendering方法)