Ответ 1
Есть ли у вас какой-либо другой маршрут для Blog/Archive/{something}?
Используйте Отладчик маршрутизации, чтобы узнать, какой маршрут на самом деле попал, скорее всего, он не ударил по этому маршруту.
Мне нужна помощь в этой карте маршрутов
routes.MapRoute("Blog_Archive",
"Blog/Archive/{year}/{month}/{day}",
new {
controller = "Blog",
action = "archive",
year = "",
month = "",
day = "",
page = 0
});
Когда я вызываю http://localhost:5060/blog/Archive/2008/11, он выбирает год и месяц и отправляет его на контроллер. Но когда я попробую http://localhost:5060/blog/Archive/2008
он отправляет его контроллеру, но параметр года имеет значение null, и все остальные параметры.
Есть ли у вас какой-либо другой маршрут для Blog/Archive/{something}?
Используйте Отладчик маршрутизации, чтобы узнать, какой маршрут на самом деле попал, скорее всего, он не ударил по этому маршруту.
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("favicon.ico");
routes.MapRoute(
"Blog",
"Blog/{action}/{id}",
new
{
controller = "Blog",
action = "show",
id = ""
});
routes.MapRoute("Blog_Archive", "Blog/Archive/{year}/{month}/{day}",
new {
controller = "Blog",
action = "archive",
year = "",
month = "",
day = "",
page =0
});
routes.MapRoute(
"Xfire",
"Xfire/{action}/{id}",
new
{
controller = "Xfire",
action = "show",
id = ""
});
routes.MapRoute(
"Photos",
"Photos/{action}/{id}",
new
{
controller = "Photos",
action = "show",
id = ""
});
routes.MapRoute("About","About",
new
{
controller = "home",
action = "about"
});
routes.MapRoute("Default", "{controller}/{action}/{id}",
new
{
controller = "Blog",
action = "show",
id = ""
});
routes.MapRoute("Error", "{*url}", new
{
controller = "Home",
action = "Http404"
,
});
}
найдена ошибка
routes.MapRoute("Blog","Blog/{action}/{id}",
new {
controller = "Blog",
action = "show",
id = ""
});
до
routes.MapRoute("Blog_Archive", "Blog/Archive/{year}/{month}/{day}",
new {
controller = "Blog",
action = "archive",
year = "",
month = "",
day = "",
page =0
});
Subnus, Я заметил в вашем коде, что у вас есть маршруты. IgnoreRoute ( "favicon.ico" ); Я не думаю, что это необходимо для MVC 1.0 правильно, потому что этот период больше не игнорируется правильно?