URL-адрес маршрута с расширением aspx для маршрута mvc - PullRequest
0 голосов
/ 01 февраля 2019

У меня есть веб-сайт, публикующий данные на старом URL веб-приложения mywebsite.com/Confirm.aspx

Я пишу новое приложение, используя asp.net mvc, и я хотел бы, чтобы этот же пост URL был примененна действие под названием «Подтвердить» на моем контроллере «Процессор».Можно ли сделать это с помощью маршрутизации в asp.net mvc?если да как?

1 Ответ

0 голосов
/ 01 февраля 2019

Есть обходной путь.

Вы можете добавить ниже обработчики запросов в web.config.

<system.webServer>
  <handlers>
    <add name="HtmlFileHandler" path="*.html" verb="GET" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />

    <add name="AspxlFileHandler" path="*.aspx" verb="GET" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
  </handlers>
</system.webServer>

Затем вы можете создать определения маршрута:

routes.MapRoute(
    name: "LegacyHtml",
    url: "{page}.html",
    defaults: new { controller = "Home", action = "LegacyPage", page = UrlParameter.Optional }
);

routes.MapRoute(
    name: "LegacyAspx",
    url: "{page}.aspx",
    defaults: new { controller = "Home", action = "LegacyPage", page = UrlParameter.Optional }
);

Далее вы можете обработать запрос в действии контроллера, упомянутом в маршрутах.

Или вы можете продолжитьперенаправить действия на другие страницы / сайты в зависимости от значения переменной пути к странице.

Это прекрасно объясняется в этом блоге.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...