Я только что обновил свой проект Asp.Net Mvc 2 до Mvc 3, и вдруг мои ссылки перестали работать. Когда я открываю страницу, все ссылки на странице перенаправляются обратно на себя.
Кроме того, некоторые перенаправления на действия, которые раньше работали в предыдущей версии, больше не работают. Он постоянно говорит: «Ни один маршрут в таблице маршрутов не соответствует заданным значениям». Я использовал RouteDebug, чтобы увидеть, что происходит, но не смог найти никаких проблем.
Обновление
Вот один из маршрутов, которыми я пользуюсь:
// ** Standard route. **
context.MapRoute(
"group_default", // Route name
"{language}/{organisation}/Research.aspx/{controller}/{action}/{organisationId}/{parameter}/",
// URL with parameters
new
{
area = "research",
language = "en-US",
organisation = "",
controller = "Home",
action = "Index",
organisationId = UrlParameter.Optional,
parameter = UrlParameter.Optional
}, // Parameter defaults
new[] { "Project.Web.Areas.Research.Controllers" }
);
Как вы можете видеть в моем ответе ниже, проблема была вызвана двумя UrlParameter.Optional друг за другом. Это ошибка в Mvc 3