Из-за факторов, находящихся вне моего контроля, мне нужно обрабатывать URLs так:Как маршрут URLs наследие типа в ASP.NET MVC
Я хотел бы направить их к конкретный контроллер/действие с уже проанализированным и привязанным значением val (т. е. аргументом для действия).
В идеале мое действие будет выглядеть следующим образом:
ActionResult BackwardCompatibleAction(int val)
Я нашел этот вопрос: ASP.Net MVC routing legacy URLs passing querystring Ids to controller actions но переадресовывает не являются приемлемыми.
Я пробовал маршруты, которые анализируют часть строки запроса, но любой маршрут с вопросительным знаком недействителен.
я смог направить запрос с этим:
routes.MapRoute(
"dosomething.asp Backward compatibility",
"{dosomething}.asp",
new { controller = "MyController", action = "BackwardCompatibleAction"}
);
Однако оттуда единственный путь, чтобы добраться до значения Валу =? через Request.QueryString. Хотя я мог анализировать строку запроса внутри контроллера, это затрудняло бы тестирование действия, и я бы предпочел не иметь этой зависимости.
Я чувствую, что есть что-то, что я могу сделать с маршрутизацией, но я не знаю, что это такое. Любая помощь будет очень оценена.
шанс. Я попробовал, и это сработало. Шоуда просто попробовал. Благодаря!!! –