【发布时间】:2016-03-21 11:32:28
【问题描述】:
问题就像标题一样简单。
是否可以有如下所示的路由:{controller}/{id}/{action}?
这就是我现在的代码(只是一个简单的函数)(device 是我的控制器):
[HttpGet]
[Route("Device/{id}/IsValid")]
public bool IsValid(int id) {
return true;
}
但是当我转到以下 URL 时,浏览器说找不到该页面:localhost/device/2/IsValid。
当我尝试这个 URL 时,它工作得很好:localhost/device/IsValid/2
那么,是否可以使用localhost/device/2/IsValid 代替默认路由localhost/device/IsValid/2?以及如何做到这一点?
欢迎询问更多信息!提前致谢!
【问题讨论】:
-
您需要更改RouteConfig文件中的代码。 public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( "Default", // 路由名称 "{controller}/{id}/{action}", // 带参数的 URL new { controller = "Home", action = "Index", id = "" } // 参数默认值 ); }
-
@RahulChavan
th是什么?我必须在哪里添加它? -
App_start 中的RouteConfig文件
-
这是用于 web api 还是普通 mvc
-
也可以用于WebAPI
标签: c# asp.net-mvc asp.net-mvc-routing