ArgumentException:参数字典包含参数的无效条目

时间:2014-03-24 14:11:36

标签: c# asp.net-mvc

控制器中有不同的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类继承。这可能是个原因吗?

欢迎任何帮助

1 个答案:

答案 0 :(得分:0)

错误似乎很明显:您需要一个Poject.Areas.Area1.Models.ViewModel2VM类型,但在某些情况下会传递Poject.Areas.Area1.Models.ViewModel1VM类型。

如果ViewModel1VM amd ViewModel2VM或多或少等价,那么也许您可以通过创建一个他们继承的公共类来解决这个问题,并将其用作参数类型,以便方法{ {1}}将接受这两种类型。