ASP.NET MVC маршрутизиране Проблем! - asp.net, asp.net-mvc

Опитвам се да направя много просто нещо. Искам това, когато пиша

Статии / списък

след това трябва да се позове на действието на индекса и да изброи всички статии.

Когато пиша

Статии / 3

Той трябва да извика действието на индекса и да покаже подробности за статията. Как мога да постигна това? Ето моите Global.asax маршрути:

 public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");



routes.MapRoute(
"Default", // Route name
"{controller}/{action}", // URL with parameters
new { controller = "Articles", action = "List" } // Parameter defaults
);


routes.MapRoute(
"ArticleDetail", // Route name
"{controller}/{id}", // URL with parameters
new { controller = "Articles", action="Index", id = "" } // Parameter defaults

);

Отговори:

2 за отговор № 1

Мисля, че можете да направите това без ограничения на маршрута .. опитайте:


маршрути.MapRoute ( "ListArticles", // Име на маршрута "Статии / Списък", // URL с параметри new {controller = "Articles", action = "Списък"} );   routes.MapRoute ( "DetailsDetails", // Име на маршрута "Статии / {id}", // URL с параметри new {controller = "Articles", action = "Index"} );

ако не се добави new {id = @ "d +"} след показалеца по-горе - но трябва да работи добре.


0 за отговор № 2

Какво за това?

      routes.MapRoute(
"ArticleDetail",
"{controller}/{id}",
new { controller = "Articles", action = "Details" },
new { id = @"d+" }
);

routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "List", id = "" }
);