Опитвам се да направя много просто нещо. Искам това, когато пиша
Статии / списък
след това трябва да се позове на действието на индекса и да изброи всички статии.
Когато пиша
Статии / 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 = "" }
);