MVC3 вопрос маршрутизации - PullRequest
0 голосов
/ 11 июля 2011

Я только начал использовать маршруты в MVC3, и я совершенно сбит с толку.Я надеюсь, что смогу получить несколько советов о том, как я могу делать то, что мне нужно с этого сайта.Вот что я хотел бы сделать.Прежде всего, мне нужны все эти ссылки, чтобы перейти на контроллер Product .

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 Ответ

2 голосов
/ 11 июля 2011
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
...