2016-12-04 51 views
-1

我有一個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當前設置爲默認的規則圖路線({控制器}/{行動}/{ID}

謝謝,加文

回答

1

你並不需要反映你的文件夾結構中的路由結構。

檢查這一個:。 ASP.Net MVC support for Nested Resources?

有效地將路由字符串是regExpression匹配任何來自請求者的來了,如果有一個匹配它試圖在表達式中所有變量從HTTP綁定值要求

關於創建新控制器 - 一條經驗法則是爲每個資源/業務實體創建一個控制器。所以在你的情況下,我會對ImagesController,RoomsController和PropertyController說是。

+0

謝謝,這似乎是有道理的。雖然只是測試它,我似乎路線仍然可以通過舊格式以及新的。/images和/ property/1234/images。這是怎麼回事? – Gavin5511

+0

因爲您定義了默認/控制器/操作,所以/ images可以解決。在從查詢字符串中解析出來的同時,我們可以繼承控制器名稱爲ImagesController。如果你不想讓它可用,你將不得不改變你的默認路線 – amdmax

相關問題