2009-09-04 6 views
12

Я ищу вариант маршрутизации, аналогичный вложенным маршрутам RESTFul, доступным через Rails. Проект SimplyRestful на MvcContrib больше не работает и не кажется текущим с версией 1.0 MVC.Поддержка ASP.Net MVC для вложенных ресурсов?

Это УИР схема Я ищу,

/Деятельность/10/Задача/1/Edit или /Деятельность/10/Задача/Редактировать/1

Я просто убежищем» t удалось заставить его работать, и вся документация, которую я запускал, описывает не вложенный сценарий. Это не похоже, что это будет так сложно ....

Это то, что я работаю с ...

 
    routes.MapRoute(null, 
     "Activity/{activityId}/Task/{action}/{id}", 
     new { controller = "Task", action = "Edit", activityId = "", id = "" }); 

ответ

13

Добавить значение по умолчанию для activity:

routes.MapRoute(null, 
    "Activity/{activityId}/Task/{action}/{id}/{activity}", 
    new { 
     controller = "Task", 
     action = "Edit", 
     id = "", 
     activityId = "", 
     activity = "" }); 

Помните также, что этот маршрут будет только забрать URLs в форме

/Activity/10/Edit/1/theActivity 

в то время как ваш пример

/Activity/10/Edit/1 

будет подобран маршрут по умолчанию, установка значений маршрута к

controller = "Activity" 
action = "10" 
id = "Edit/1" 

Phil Хаака Routing Debugger для ASP.NET MVC является чрезвычайно полезным для выяснения того, как работать эти вещи ...

+0

Спасибо. Я просто понял, что я вложил это в случайность, прежде чем публиковать его. – nerraga

+0

Отладчик маршрутизации, упомянутый мною пару раз на моем читателе, я полностью забыл об этом. Благодаря! – nerraga

Смежные вопросы