ASP.NET MVC 3 RESTful Routing: RouteData должен содержать элемент с именем Action?

Мы используем проект ASP.NET MVC Futures (Microsoft.Web.Mvc), чтобы позволить приложению MVC 3 использовать маршруты RESTful. Это приложение отлично работает под MVC 1 и связанной с ним сборкой System.Web.Mvc.Resources.dll для той же функциональности.

Мы регистрируем маршруты как таковые:

routes.MapResourceRoute("MyController", "{MyItemId}");

Что должно давать нам маршруты вроде:

/MyController
/MyController/{MyItemId}
/MyController/{MyItemId}/EditForm
/MyController/CreateForm

Мы получаем три из четырех допустимых маршрутов - второй в этом списке (/ MyController / {MyItemId}) возвращает ошибку:

Server Error in '/' Application.
The RouteData must contain an item named 'action' with a non-empty string value. 

Когда я пытаюсь добавить? Action = Details или другие способы добавления параметра действия в URL, я получаю 404 ошибки. Похоже, что атрибут WebEnabledApi в коде Futures значительно изменился - у всех, у кого есть эти проблемы, и есть решение?

6
задан rswafford 26 January 2011 в 20:17
поделиться