2013-10-02 8 views
0

В MVC шаблон по умолчанию маршрут Ссылка - URL: «{контроллер}/{действие}/{ID}»Создание нового маршрута в MVC

Когда я добавить новый маршрут, как показано ниже, прежде чем по умолчанию route, url для маршрута по умолчанию показан как что-то вроде Home/Index? id = 5, а не Home/Index/5. Как это можно исправить.

routes.MapRoute(
      name: "Name", 
      url: "{controller}/{action}/{name}", 
      defaults: new { controller = "Home", action = "Browse", name = UrlParameter.Optional } 
     ); 
+0

Не могли бы вы назвать имя по умолчанию? Если это так, это должно решить проблему: routes.MapRoute ( имя: «Name», url: «{controller}/{action}/{name}", defaults: new {controller = "Home", action = «Browse», name = «»} ); –

ответ

0

Маршрут по умолчанию никогда не будет удален, потому что добавленный вами маршрут точно такой же, с точки зрения маршрутизации. Таким образом, ваш маршрут поймает все, что маршрут по умолчанию поймает, если он будет единственным, или будет помещен перед вашим. Оба будут совпадать с одним, двумя и тремя сегментами URL.

+0

есть ли какие-либо исправления? – user2813261

+0

@ user2813261 Вам строго нужен маршрут по умолчанию? Единственное различие заключается в том, что у вас есть другое значение по умолчанию для 'action', а третий сегмент имеет другое имя. – asymptoticFault

0

Этот маршрут не нужен и в значительной степени бесполезен. , как говорит @asymptoticFault, он выполняет ту же задачу, что и по умолчанию.

Смежные вопросы