Url路由asp.net

Url路由asp.net,asp.net,Asp.net,我的模型是 public class Organization { public int ID { get; set; } public string Url { get; set; } } 这是我的路线图 routes.MapRoute( "Url", "{controller}/{action}/{Url}", new { controller = "Organization", action = "PageCont

我的模型是

public class Organization
{
    public int ID { get; set; }
    public string Url { get; set; }
}
这是我的路线图

    routes.MapRoute(
            "Url",
        "{controller}/{action}/{Url}",
     new { controller = "Organization", action = "PageContent", Url = "" }
       );
        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );
有没有办法修复路由,使Url和ID都能工作?
例如,…Organization/details/{ID}和…Organization/details/{Url}都可以工作

因为这两个路由看起来是相同的,您可以将两者结合起来并定义一个,在操作(或onActionExecuting)中,您可以决定基于ID或Url的行为

routes.MapRoute(
    name: "Default",
    url: "{controller}/{action}/{Segment}",
    defaults: new { controller = "Home", action = "Index", Segment = UrlParameter.Optional }
);
或者,您可以仅使用ID映射路由,并将URL作为查询字符串