I Я пытаюсь поддерживать некоторые устаревшие URL-адреса и сопоставлять их с действиями контроллера. URL-адреса выглядят следующим образом:
/~Home+Office~Note+Pads.html
Вот мой маршрут:
routes.MapRoute(
"LegacyCategory",
"{path}.html",
new { controller = "LegacyCI", action = "Index", }
);
Вот (начало )моего контроллера для работы с ними:
public class LegacyCIController : Controller {
public ActionResult Index(string path) {
if (path == "~Address+Labels") {
return RedirectToAction("Display", "Category", new { id = "AddressLabels" });
}
return RedirectToAction("Index", "Category");
}
}
Если Я устанавливаю точку останова в LegacyCIController и устанавливаю стартовую страницу на XXX.html, точка останова достигает (и терпит неудачу if
), и жизнь прекрасна Но когда я пытаюсь установить начальную страницу на ~Address+Labels.html
, нет точка останова срабатывает, и Chrome просто вырывает и показывает мне страницу с надписью «ой, эта страница кажется неработающей».
Я запускаю эту страницу через IIS 7 на своем компьютере, а не через Visual Studio.
этот URL-адрес настолько искажен, что обычный маршрут MVC даже не может его обработать, или я делаю что-то еще неправильно?