Чтобы выполнить перенаправление со страницы не-MVC на действие контроллера MVC, лучше всего использовать библиотеку типа UrlRewriting.net или аналогичную, которая использует HttpModule для обработки каждый запрос и отправить его в определенное место.
Пример : Перенаправить запросы для '/faq.asp' на '/ faq':
<add name="faq.asp" virtualUrl="^~/faq.asp([\?#].*)?$"
destinationUrl="~/faq"
redirect="Application"
redirectMode="Permanent"
ignoreCase="true" />
Когда вы добавляете модуль HttpModule для UrlRewriting.Net в свой Web.config, убедитесь, что вы определили его до UrlRoutingModule, который автоматически определяется ASP.NET. В противном случае ASP.NET попытается обработать ваш запрос, сопоставив его с файлом или контроллером, и в результате могут возникнуть непредвиденные проблемы.
<modules runAllManagedModulesForAllRequests="true">
<add name="UrlRewriteModule" type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter"/>
<add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</modules>