这是我的自定义路线
// custom route
routes.MapRoute(
"Custom",
"Town/{townName}/{restaurantID}",
new { controller = "Town", action = "View", restaurantID = UrlParameter.Optional }
);
问题是当我点击Create
操作网址(应该是)Town/Create
但网站将Create
识别为townName
时出现问题...同样的事情发生在Edit
。
感谢。
答案 0 :(得分:1)
不幸的是,您正在处理2条非常通用的路线。无论哪个先订购都会有优先权,但这两个订单都不能满足您的需求。解决此问题的最简单方法是使用约束或为“创建”和“编辑”指定其他路径。
以下是创建其他路线以使“创建和编辑”显式化的样子。
注意:请注意,使用此网址结构,您永远不会拥有名为“编辑”或“创建”的城镇。幸运的是,这些城镇似乎并不存在于地球上(但是),但是Délété镇需要担心:http://nona.net/features/map/placedetail.2381031/D%C3%A9l%C3%A9t%C3%A9/
routes.MapRoute(
"Town_Edit",
"Town/Edit/{restaurantID}",
new { controller = "Town", action = "Edit" }
);
routes.MapRoute(
"Town_Create",
"Town/Create/",
new { controller = "Town", action = "Create" }
);
routes.MapRoute(
"Town",
"Town/{townName}/{restaurantID}",
new { controller = "Town", action = "View", restaurantID = UrlParameter.Optional }
);
// Default route here