1
2つのルートが一致していますが、一致するには両方とも必要です。 GUIDやINTを文字列にする必要はありません。MVCルート属性が複数のコントローラタイプを検出しました
このルートは、他のものと一致しない場合にのみ実行する必要があります。
[Route("{slug}", Order = 1)]
と、このルートは常に
[Route("eula", Order = 0)]
任意のアイデアを取られるべきであるが、これを達成するためにどのようにですか?
RouteConfig.cs:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapMvcAttributeRoutes();
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
コントローラ:
エラーを再現 Route parameters and multiple controller types: 私は順序が、それは私の正確な問題を表示しませ
んどうやらうまくいくかもしれないと思いました
public class HomeController : Controller
{
[Route("eula")]
public ActionResult Eula()
{
ViewBag.Message = "Your application description page.";
return View();
}
}
public class SlugController : Controller
{
[Route("{slug}")]
public ActionResult SluggedUrl(string slug)
{
ViewBag.Message = "Your " + slug;
return View();
}
}