我在名为" ReportController"的控制器中有这样的MVC动作。 :
[HttpGet]
public virtual ActionResult Index(int id, Dictionary<string,string> filtersVal = null)
{
...
}
当我尝试像这样调用页面时:http://domain.com/report/index?id=1它正确地命中了操作,但填充了&#34; filerVal&#34;带有MVC路由信息的参数,如下:
[0] = {[控制器,报告]} [1] = {[action,index]}
如何避免这种情况,以便filterVal参数保持为null。
请注意:我们最近搬到了MVC5 ..它在MVC3中运行良好 另外:如果我像这样调用相同的动作: http://domain.com/report/index?id=2&filterVal[0].Key=136&filterVal[0].Value=1然后它在&#34; filterVal&#34;中具有正确的值。参数。
有人可以建议我如何避免第一种情况?
感谢。
答案 0 :(得分:-1)
如果你的路线表有这样的条目:
{controller}/{action}/{id}
,其中{id}
是可选的,您应该使用网址
xxx=yyy
和aaa=bbb
成为filtersVal
中的值。