2014-05-04 161 views
1

我对路由有一些疑问。我有这样的路线:路由配置MVC

routes.MapRoute(
    name: "Venda", 
    url: "{controller}/{action}/{automovelId}/{consumidorId}/{revendedoraId}", 
    defaults: new { 
     controller = "Venda", 
     action = "Index", 
     automovelId = UrlParameter.Optional, 
     consumidorId = UrlParameter.Optional, 
     revendedoraId = UrlParameter.Optional 
    } 
); 

但是当我打电话编辑动作传递参数如下:

/Venda/Edit?automovelId=1&consumidorId=1&revendedoraId=1 

我希望它是:

/Venda/Edit/1/1/1 

我怎么能做这个?

回答

0

你不能在路线中使用多个可选参数。只有最后一个参数可以是可选的。

+0

Stephen Muecke,我必须删除最后两个可选参数? –

+0

@Yuri,这[博客](http://haacked.com/archive/2011/02/20/routing-regression-with-two-consecutive-optional-url-parameters.aspx/)会给你更多的信息在可能的解决方法 –

+0

几分钟前我正在查看此博客。但我仍然有问题。这三个参数是我的主要关键。 –