Asp.net mvc 如何在asp.net mvc4中定义此路由?

Asp.net mvc 如何在asp.net mvc4中定义此路由?,asp.net-mvc,asp.net-mvc-4,asp.net-mvc-routing,Asp.net Mvc,Asp.net Mvc 4,Asp.net Mvc Routing,我是asp.NETMVC的初学者 我有两个控制器: HomeController操作:索引,关于 我需要的url: index action url: mydomain about action url: mydomain/about 其他控制器操作:索引 index action url: mydomain/other 不起作用的MyCode: routes.MapRoute( "Other", "{controller}/{action}/{id}",

我是asp.NETMVC的初学者

我有两个控制器:

HomeController操作:索引,关于

我需要的url:

  index action url: mydomain

  about action url: mydomain/about
其他控制器操作:索引

  index action url: mydomain/other
不起作用的MyCode

routes.MapRoute(
      "Other",
     "{controller}/{action}/{id}",
     new { controller = "Other", action = "Index", id = UrlParameter.Optional }
 );

  routes.MapRoute(
     name: "Default",
     url: "{action}/{id}",
     defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
 );

谢谢

我想你错过了你的
默认
路由规范中的
{controller}

routes.MapRoute(
     name: "Default",
     url: "{controller}/{action}/{id}",
     defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);

为您的家庭控制器,点击

index action url: mydomain
index action url: mydomain/other
你需要

routes.MapRoute(
 name: "Home",
 url: "",
 defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
 name: "Home",
 url: "about",
 defaults: new { controller = "Home", action = "About", id = UrlParameter.Optional }
); 
routes.MapRoute(
 name: "Other",
 url: "other",
 defaults: new { controller = "Other", action = "Index", id = UrlParameter.Optional }
);
击中

about action url: mydomain/about
你需要

routes.MapRoute(
 name: "Home",
 url: "",
 defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
 name: "Home",
 url: "about",
 defaults: new { controller = "Home", action = "About", id = UrlParameter.Optional }
); 
routes.MapRoute(
 name: "Other",
 url: "other",
 defaults: new { controller = "Other", action = "Index", id = UrlParameter.Optional }
);
对于你的另一个控制器,点击

index action url: mydomain
index action url: mydomain/other
你需要

routes.MapRoute(
 name: "Home",
 url: "",
 defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
 name: "Home",
 url: "about",
 defaults: new { controller = "Home", action = "About", id = UrlParameter.Optional }
); 
routes.MapRoute(
 name: "Other",
 url: "other",
 defaults: new { controller = "Other", action = "Index", id = UrlParameter.Optional }
);

请注意,在所有情况下,“name”参数实际上并不重要。

没有遗漏,它是为了避免重复的url-也只有在您的解决方案中,它不适用于我上面写的url