2016-12-04 1 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 в настоящее время установлен правилом MapRoute по умолчанию ({контроллер}/{действие}/{идентификатор}

Спасибо, Гэвин

ответ

1

Вам не нужно, чтобы отразить структуру маршрутизации в вашей структуре папок.

Проверить это один из:.. ASP.Net MVC support for Nested Resources?

Эффективно ваша строка маршрутизации является regExpression, чтобы соответствовать все, что приходит в от запрашивающей И если есть совпадение, что он пытается связать все переменные в выражении для значений из HTTP запрос

Что касается создания новых контроллеров - это правило состоит в том, чтобы создать контроллер на ресурс/бизнес-объект. Поэтому в вашем случае я бы сказал «да» ImagesController, RoomsController и PropertyController.

+0

Спасибо, это, кажется, имеет смысл. Хотя просто проверяя это, кажется, что маршруты все еще доступны как в старом формате, так и в новом./images и/property/1234/images. Так ли это должно быть? – Gavin5511

+0

Изображение/изображение работает, потому что у вас определено значение по умолчанию/контроллер/действие. При анализе строки запроса мы можем наследовать имя контроллера как ImagesController. Если вы не хотите, чтобы он был доступен, вам придется изменить маршрут по умолчанию – amdmax