我刚开始使用MVC3中的路线,我感到非常困惑。我希望我能就如何从这个网站做我需要的东西得到一些建议。这是我想做的。首先也是最重要的我需要所有这些链接转到产品控制器。
www.xx.com/product 12 code/ >> Action: Overview,
>> ProdId=12 passed as a param
www.xx.com/product 12 code/Overview >> Action: Overview,
>> ProdId=12 passed as a param
www.xx.com/product 12 code/Results >> Action: Results,
>> ProdId=12 passed as a param
www.xx.com/product 12 code/Product >> Action: Product,
>> ProdId=12 passed as a param
>> Code="" passed as a param
www.xx.com/product 12 code/Product/123 >> Action: Index,
>> ProdId=12 passed as a param
>> Code= 123 passed as a param
我所学到的是我可以像这样获得“12”:
routes.MapRoute("Route 1", // Route name
"product {prodId} code/{action}/{id}",
new
{
controller = "Product",
action = "Index",
id = UrlParameter.Optional
}
);
但是如何让它转到不同的动作事件并将prodId和id作为参数传递?我认为路由系统非常强大,但对于像我这样的新用户来说很复杂。我需要设置多少条路线来做我需要的路线?
答案 0 :(得分:2)
routes.MapRoute("Route 1", // Route name
"product {prodId}/{action}/{code}",
new
{
controller = "Product", //default controller=Product
action = "Index", //default action= Index
prodId = 12, //default prodId=12
code=UrlParameter.Optional // code is optional
}
);
www.xx.com/product 12/ >> Action: Overview,
>> ProdId=12 passed as a param
www.xx.com/product 12/Overview >> Action: Overview,
>> ProdId=12 passed as a param
www.xx.com/product 12/Results >> Action: Results,
>> ProdId=12 passed as a param
www.xx.com/product 12/Product >> Action: Product,
>> ProdId=12 passed as a param
>> Code="" passed as a param
www.xx.com/product 12/Product/123 >> Action: Index,
>> ProdId=12 passed as a param
>> Code= 123 passed as a param