アクションとしてインデックスを指定すると、@ Url.Actionがインデックスを出力しないのはなぜですか?ActionとしてIndexを指定すると、@ Url.ActionがIndexを出力しないのはなぜですか?
razor @ Url.Action( "Index"、 "Admin")を使用してURLを出力しようとしていますが、出力はhttp://localhost/Adminです。その結果、ルーティングは/ Adminがカテゴリであり、間違ったルートによって捕捉されたと思っています。
私が使用していたルートは
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
null,
"Page{page}",
new { Controller = "Photo", action="List" , category = (string)null },
new { page = @"\d+" }
);
routes.MapRoute(
null,
"{category}",
new { Controller = "Photo", action = "List", page=1 }
);
routes.MapRoute(
null,
"{category}/Page{page}",
new { Controller = "Photo", action = "List"},
new { page = @"\d+" }
);
// Default MVC route (fallback)
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "App", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
routes.MapRoute(null, "{controller}/{action}");
}