Маршрутизация без имени контроллера - PullRequest
2 голосов
/ 24 мая 2011

У меня есть несколько контроллеров, один, скажем, компьютерный контроллер. Есть действие для ноутбука, настольных гаджетов. Мне бы хотелось, чтобы у меня было имя страницы: www.MyDomain / ноутбук (и т. Д.) И один, скажем, электронный контроллер, у которого есть боевик., DVD, (и т. Д.) Я хотел бы иметь имя страницы: www.MyDomain / TV (и т. Д.) Без указания контроллера? Я не понимаю, что происходит с моим вопросом, прежде чем я не могу редактировать(Надеюсь админ его удалит)

Ответы [ 2 ]

4 голосов
/ 24 мая 2011

Вы можете сделать это, указав ограничения маршрута:

routes.MapRoute(
    "Computers",
    "{name}",
    new { controller = "Computers", action = "Index", name = UrlParameter.Optional },
    new { page = "laptop|desktop" }
);

routes.MapRoute(
    "Gadgets",
    "{name}",
    new { controller = "Electronic", action = "Index", name = UrlParameter.Optional },
    new { page = "tv|dvd" }
);

Теперь /laptop и / desktop будут перенаправлены на действие Index ComputersController и /tv и /dvdбудет перенаправлен на Index действие GadgetsController.

0 голосов
/ 24 мая 2011

В вашем Global.asax.cs:

routes.MapRoute(
    "ViewLaptop", // Route name
    "/laptop", // URL with parameters
    new { controller = "Computers", action = "Laptop" } // Parameter defaults
);

Это должно сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...