使用新的MVC属性路由,我知道您可以为单个Route
分配多个ActionResult
属性,但我正在寻找在RoutePrefix
级别执行相同操作的方法。我有一个控制器,在每个动作中都应该可以通过三种途径访问:
/Games/{Title}/Characters/{Route}
/Books/{Title}/Characters/{Route}
/Cinema/{Title}/Characters/{Route}
我尝试了三个单独的RoutePrefix
属性,但是我收到错误Deuplace RoutePrefix attribute
。如果我尝试使用以逗号分隔的列表,我会得到Best override method for does not contain a constructor that takes 3 arguments
。
是否可以设置RoutePrefix
以便我需要三条路径来控制我的控制器?
答案 0 :(得分:13)
运行一堆测试我发现我可以在控制器级别添加3个Route
属性,它可以按我想要的方式工作。
编辑:更好的方法我发现使用正则表达式匹配方法
[RoutePrefix("{Type:regex(Games|Cinema|Books)}/{SectionRoute}/Character/")]