Sha*_*rim 5 c# asp.net-mvc asp.net-mvc-5
我在名为"ReportController"的控制器中有这样的MVC动作:
[HttpGet]
public virtual ActionResult Index(int id, Dictionary<string,string> filtersVal = null)
{
...
}
Run Code Online (Sandbox Code Playgroud)
当我尝试这样调用页面时:http: //domain.com/report/index?id = 1它正确地命中了操作,但用MVC路由信息填充"filerVal"参数,如下:
[0] = {[controller,report]} [1] = {[action,index]}
如何避免这种情况,以便filterVal参数保持为null.
请注意:我们最近搬到了MVC5 ..它在MVC3中工作正常另外:如果我调用相同的动作:http://domain.com/report/index?id = 2&filterVal [0] .Key = 136&filterVal [0] .Value = 1 然后在"filterVal"参数中具有正确的值.
任何人都可以建议我如何避免第一种情况?
谢谢.
小智 -1
如果您的路由表有这样的条目:
{controller}/{action}/{id}
,其中{id}是可选的,那么您应该使用 url 访问您的页面:
其中xxx=yyy和aaa=bbb成为 中的值filtersVal。