【发布时间】:2017-03-13 10:59:03
【问题描述】:
我有 2 条路线匹配,但是我需要它们都匹配。 我不能使用 GUID 或 INT,我需要它是字符串。
只有当它不匹配其他任何东西时才应该采用这条路线。
[Route("{slug}", Order = 1)]
这条路线应该一直走
[Route("eula", Order = 0)]
关于如何实现这一点的任何想法? 我认为订购可能会起作用,但它显然不起作用
显示我的确切问题: Route parameters and multiple controller types
重现错误:
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 }
);
}
控制器:
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();
}
}
【问题讨论】:
标签: c# asp.net-mvc asp.net-mvc-routing