[英]Route url with aspx extension to mvc route
我有一个网站将数据发布到旧的Web应用程序URL mywebsite.com/Confirm.aspx
我正在使用asp.net mvc编写一个新的应用程序,我希望将相同的url发布应用于我的控制器“ Processor”上一个名为“ Confirm”的操作。 是否可以使用asp.net mvc中的“路由”来执行此操作? 如果是这样怎么办?
有一种解决方法。
您可以在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 }
);
接下来,您可以在路由中提到的控制器操作中处理请求。
或者,您可以根据页面路径变量的值将操作进一步重定向到其他页面/站点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.