我有一些问题,我的网址看看经历类别一会儿。.NET MVC分类树URL结构
基本上,这是某种形式的餐饮应用,其中用户选择Town
(最高类别),然后选择Restaurant
为town
,和里面restaurant
他可以看到food
。
我有TownViewController
,RestaurantViewController
,FoodViewController
和用于处理的Town
,Restaurant
表示主要动作,Food
是View
(所以在每一个控制器)。
,看我有www.catering.com/Town
所有城镇和多数民众赞成罚款(虽然这将是更好的,如果不重命名控制器到城镇,也没有硬编码新航线的/城镇 - 如果可能的话)
要查看所有餐馆选择镇(驻这个案例ID = 1)我有www.catering.com/Restaurant/View/1
。现在这是问题。实际上这应该是选择餐厅和食物代表的路线,餐馆代表应该是www.catering.com/Town/View/1
。所以实际上总是超类应该在URL中。
因为在最后我有www.catering.com/Food/View/1
并没有任何意义,因为我正在浏览餐厅没有与ID = 1的食物。
是否有某种方式这可以是固定的路线,除了经典的硬编码?我设法解决了一些硬编码路由,但是我的客户说它不是很好的方法,因为它可能会在较大的项目中变得非常混乱。
我做这样的:
routes.MapRoute(
"Restaurant",
"Town/View/{id}",
new { controller = "Restaurant", action = "View", id = UrlParameter.Optional }
);
routes.MapRoute(
"Food",
"Restaurant/View/{id}",
new { controller = "Food", action = "View", id = UrlParameter.Optional }
);
谢谢你的回答,我会尽快检查一下我的电脑。 –