我的网址http://server/region/section/item
现在,如果有人前往http://server/us/,我想显示一个页面来选择一个部分 如果有人去http://server/us/beer/,我想显示所有啤酒的清单。
我的问题是我应该只有1个默认路由,然后根据URL的填充量返回不同的视图,还是应该创建多个路由到同一个控制器的不同操作?甚至不同的控制器,我只想知道最佳实践是什么。
答案 0 :(得分:2)
典型路线如下:
http://www.domain.com/controller/action/id [域/控制器/动作/ ID]
在你的情况下,它只是一个部分: http://server/us/beer [域/控制器/动作/??]
正如Robert Harvey所说,你不希望对每件产品采取行动。那么如下: http://server/us/product/beer [域/控制器/动作/ ID]
然后,您将开发一个产品视图,向访问者显示啤酒数据。
这不是很好的架构,但如果不了解你的情况,任何人都很难回答这个问题。我希望这会有所帮助。
答案 1 :(得分:0)
在您的特定情况下,“beer”可能是控制器操作的过滤器,而不是另一个控制器操作,在这种情况下,您只需要一个路径条目。
创建一个每次添加产品类别时都需要添加新路径,控制器方法和/或视图的策略似乎并不明智。当然,除非你想高度自定义每个类别的外观和行为。