I do this by creating a new route for the Item controller, which includes OrderId. It makes no sense to have an element without an order, so OrderId is required using the restrictions parameter.
routes.MapRoute(
"OrderItems",
"Item/{action}/{orderId}/{id}",
new { controller = "Item" },
new { orderId = @"d+" }
);
, url http://<sitename>/Item/Create/8, 8 - OrderId, . http://<sitename>/Item/Delete/8/5, 8 - OrderId, 5 - ItemId.
:
public ActionResult Create(int orderId)
public ActionResult Delete(int orderId, int id)
, URL- http://<sitename>/Order/8/Item/Create http://<sitename>/Order/8/Item/Delete/5, , .
:
routes.MapRoute(
"OrderItems",
"Order/{orderId}/Item/{action}/{id}",
new { controller = "Item" },
new { orderId = @"d+" }
);