控制器中有不同的Action。两个链接,每个动作一个(作为菜单) 单击每个工作没有问题,通过单击链接在两个操作之间切换会引发跟随错误(有时)
[ArgumentException:参数字典包含方法'System.Web.Mvc.ActionResult'的参数'vm'的无效条目 'Poject.Areas.Area1.Controllers.ControllerA'中的概述(Poject.Areas.Area1.Models.ViewModel2VM)'。字典包含 类型为'Poject.Areas.Area1.Models.ViewModel1VM'的值,但是 参数需要值类型 'Poject.Areas.Area1.Models.ViewModel2VM'。参数名称:参数] System.Web.Mvc.ActionDescriptor.ExtractParameterFromDictionary(的ParameterInfo parameterInfo,IDictionary`2参数,MethodInfo methodInfo)+733
大部分时间都有效,有时会显示错误。所有ViewModelClasses都从相同的ViewModelBase类继承。这可能是个原因吗?
欢迎任何帮助
答案 0 :(得分:0)
错误似乎很明显:您需要一个Poject.Areas.Area1.Models.ViewModel2VM
类型,但在某些情况下会传递Poject.Areas.Area1.Models.ViewModel1VM
类型。
如果ViewModel1VM
amd ViewModel2VM
或多或少等价,那么也许您可以通过创建一个他们继承的公共类来解决这个问题,并将其用作参数类型,以便方法{ {1}}将接受这两种类型。