Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MVC分层路由_C#_Asp.net_.net_Asp.net Mvc_Asp.net Mvc 5 - Fatal编程技术网

C# MVC分层路由

C# MVC分层路由,c#,asp.net,.net,asp.net-mvc,asp.net-mvc-5,C#,Asp.net,.net,Asp.net Mvc,Asp.net Mvc 5,使用ASP.NET MVC 5是否可以实现以下路径(甚至有“MVC意义”): Organisations/3/Employees/7/Edit 描述:来自id为3的组织,编辑id为7的员工 Organisations/3/Employees/Create 描述:为组织3创建新员工 员工属于组织(没有组织,他们就无法生存),这就是我喜欢分级URL结构的原因。它类似于RESTful API设计中的资源。是的,我在大多数管理应用程序中创建了这些路由的变体,它们的阅读方式几乎感觉“流畅” 下面是我的

使用ASP.NET MVC 5是否可以实现以下路径(甚至有“MVC意义”):

Organisations/3/Employees/7/Edit
描述:来自id为3的组织,编辑id为7的员工

Organisations/3/Employees/Create
描述:为组织3创建新员工


员工属于组织(没有组织,他们就无法生存),这就是我喜欢分级URL结构的原因。它类似于RESTful API设计中的资源。

是的,我在大多数管理应用程序中创建了这些路由的变体,它们的阅读方式几乎感觉“流畅”

下面是我的路线定义的一个快速示例,我将如何布置它

_routeCollection.MapRoute(null, 
  "Organisations/{organisationId}/Employees/{id}/edit", 
  new { controller = "Employee", action = "Edit" });

_routeCollection.MapRoute(null, 
  "Organisations/{organisationId}/Employees/create", 
  new { controller = "Employee", action = "Create" });
然后,编辑/创建员工控制器操作将接受OrganizationID参数以及调用这些操作所需的任何其他参数。我通常会添加下一个路由来处理对象的细节

_routeCollection.MapRoute(null, 
  "Organisations/{organisationId}/Employees/{id}", 
  new { controller = "Employee", action = "Detail" });

要创建Html.ActionLink,您可以调用
@Html.ActionLink(“Employee”,“Edit”,new{organizationid=2,id=10})

太好了。我该如何创建一个
@Html.ActionLink(..)
来指向这样一个位置呢?