MVC3路由问题

时间:2011-07-11 08:16:30

标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-routing

我刚开始使用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作为参数传递?我认为路由系统非常强大,但对于像我这样的新用户来说很复杂。我需要设置多少条路线来做我需要的路线?

1 个答案:

答案 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
相关问题