Asp.net mvc 如何注册家庭自定义路由
我有一个没有自定义路由的网站,只是默认路由。 我需要为第三方客户创建一个GET操作,因此客户将需要url并向我的操作传递一个特定的参数。但我想提供尽可能简单的url。 例如: 我的默认路线:Asp.net mvc 如何注册家庭自定义路由,asp.net-mvc,routes,Asp.net Mvc,Routes,我有一个没有自定义路由的网站,只是默认路由。 我需要为第三方客户创建一个GET操作,因此客户将需要url并向我的操作传递一个特定的参数。但我想提供尽可能简单的url。 例如: 我的默认路线: routes.MapRoute( "Default", // Route name "{controller}/{action}/{id}", // URL with parameters new { controller = "Ho
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
我试过这个:
routes.MapRoute(
"CustomRoute",
"{idParameter}",
new { controller = "Home", action = "CustomAction", idParameter= UrlParameter.Optional }
);
但它不起作用。可以这样做吗?请记住,顺序在定义路线时很重要。尝试将自定义路由置于默认路由之上。@Wettt感谢您的响应,但是,如果我将其置于上面,操作将执行,默认情况下,url中没有任何参数。因此,如果我只是执行,它会抛出一个错误,说我需要传递一些参数。在您的操作中,您可以为参数指定一个默认值,如
public ActionResult ActionName(int-id=0)
,或使其为空,如public ActionResult ActionName(int-id)