C# MVC分层路由
使用ASP.NET MVC 5是否可以实现以下路径(甚至有“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设计中的资源。是的,我在大多数管理应用程序中创建了这些路由的变体,它们的阅读方式几乎感觉“流畅” 下面是我的
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(..)
来指向这样一个位置呢?