我已经使用MVC从头开始创建多个站点,但现在我的任务是迁移项目。
目前该网站有一个大型静态文件库(* .html)。最终,每个页面都将通过视图和控制器迁移到MVC。该网站非常适合转换,几个嵌套文件夹和每个文件夹有几个页面。这应该是一项相当直接的工作。但业务规定这必须逐个文件夹逐个完成,这是可以的,因为每个文件夹都是相当自包含的,很少有链接转到其他文件夹。
我的问题是,我可以将整个现有网站导入我的VS项目中名为legacy_html
的文件夹,然后配置路由以基本上忽略此文件夹,为用户保留当前网站导航。
当我迁移每个文件夹时,该文件夹将从legacy_html和控制器中删除并创建视图。
我问的原因是有很多根级文件夹并最终将它们全部迁移到控制器和视图,我不希望它们使项目混乱并妨碍我。我的目标是最终得到一个漂亮干净的MVC文件夹结构,没有任何行李。
与Wildcards with ASP.NET MVC MapPageRoute to support organizing legacy code类似,但考虑到最近MVC的发展速度,我想知道答案是否有所改善。
答案 0 :(得分:0)
除非你真的希望让RouteHandler处理你的“遗留”应用程序URL,否则最简单的方法就是在你的Global.asax的RegisterRoutes
方法中添加一个忽略路径:
routes.IgnoreRoute("{*html}", new {html=@".*\.html(/.*)?"});
这将导致对HTML页面的请求“通过”路由处理并去寻找物理文件,这是他们传统上无论如何都会做的。