я получаю 404 ошибку, когда я перейти к следующему URL-адресу, используя следующую по маршруту:ASP.Net MVC 2 RC2: Пользовательский маршрут возвращает 404, когда все необязательные параметры равны нулю
http://localhost:53999/properties/
Однако все Ниже правильно направляется на Список действия в мой контроллер:
http://localhost:53999/properties/usa/new-york/manhattan/12
http://localhost:53999/properties/usa/new-york/manhattan
http://localhost:53999/properties/usa/new-york
http://localhost:53999/properties/usa
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
//properties
routes.MapRoute(
"Properties",
"Properties/{country}/{state}/{city}/{id}",
new
{
controller = "Properties",
action = "List",
country = UrlParameter.Optional,
state = UrlParameter.Optional,
city = UrlParameter.Optional,
id = UrlParameter.Optional
}
);
//default
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
}
В PropertiesController.cs:
public ActionResult List(string country, string state, string city, string id)
{
return View();
}
Каждый знает, что я не хватает? Похоже, он должен просто перейти к действию по умолчанию, но это явно не ...
Это не доступно в MVC 1.0. –
Обратите внимание, что UrlParameter.Optional доступен только в MVC 2 RC 2, который был выпущен только в начале февраля. – Brettski
@ çağdaş: ОП конкретно говорит MVC 2. –