我需要一个新的控制器吗?

时间:2016-12-04 20:20:54

标签: asp.net-mvc model-view-controller controller routes

我有一个PropertyController,我用它来提供一堆页面。例如..

/Property
/Property/{id}
/Property/add
/property/edit/{id}

我现在需要做一些基于特定属性的东西我需要做这样的页面..

/Property/{id}/images/add
/Property/{id}/images/edit/{id}
/Property/{id}/rooms/add
/Property/{id}/rooms/edit/{id}

我想我需要构建一个新的ImagesController和RoomsController,但是我需要这些文件夹结构吗?我的RouteConfig当前设置为默认的MapRoute规则({controller} / {action} / {id}

谢谢,加文

1 个答案:

答案 0 :(得分:1)

您不需要在文件夹结构中反映您的路由结构。

检查一下: ASP.Net MVC support for Nested Resources?

有效地,您的路由字符串是一个regExpression,用于匹配来自请求者的任何内容。如果匹配,它会尝试将表达式中的所有变量绑定到HTTP请求中的值。

关于创建新控制器 - 经验法则是为每个资源/业务实体创建一个控制器。所以在你的情况下我会对ImagesController,RoomsController和PropertyController说“是”。