Я посмотрел на ASP.NET MVC маршрутизация URL прежней версии, передающих querystring Ids действиям контроллера и нескольким другим подобным сообщениям для маршрутизации URL прежней версии, но я не могу закончить ошибку "RouteData, должен содержать объект, названный 'контроллером' со значением непустой строки". Поиск этого на строке не дал мне подсказок для решения моей проблемы.
Я реализовал Устаревший класс маршрутизации, описанный в ссылке выше, и это - то, что я определил в таблице маршрутизации:
routes.Add(
"Legacy",
new LegacyRoute("fooref.aspx",
"FooRef",
new LegacyRouteHandler())
);
routes.MapRoute(
"FooRef",
"{controller}/{action}",
new
{
controller = "Home",
action = "Index",
foo_id = UrlParameter.Optional,
bar_id = UrlParameter.Optional
}
);
Когда я использую отладчик маршрута Phil Haack, он указывает, что fooref.aspx имеет соответствие, но когда я выключаю отладчик маршрута, я получаю ошибку выше. Если я инвертирую порядок оператора, я получаю "Ресурс, не найденный" для/ctprefer.aspx, который имеет смысл - таким образом, это, кажется, находит, что как допустимый маршрут, когда вставляется в другой порядок.
Где я должен объявить эту недостающую ссылку контроллера?
Направляющие требования изменились для ASP.NET MVC 2 RTM?