【发布时间】:2017-03-03 18:28:25
【问题描述】:
我想定义一个 MapRoute,它可以将两条不同的路线映射到一个动作。
我有一个创建地址的操作:
public class AddressesController : BaseController
{
public ActionResult Create()
{
...
}
}
以下两条路线应该映射到动作:
/Addresses/Create -> 创建一个新地址
/Projects/3/Addresses/Create -> 为 id = 3 的项目创建一个新地址
我尝试了以下 MapRoute 配置来完成此操作,但没有成功:
routes.MapRoute(
name: "CreateAddress",
url: "{projects}/{projectId}/{controller}/{action}",
defaults: new { projects = "", projectId = UrlParameter.Optional, controller = "Addresses", action = "Create" },
constraints: new { project = "(Projects)?" });
有了这个配置,路由/Projects/3/Addresses/Create 可以工作,但/Addresses/Create 不行。
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-5 asp.net-mvc-routing asp.net-routing