【发布时间】:2015-08-03 22:03:13
【问题描述】:
我正在尝试将 MVC3 应用程序的旧版区域嵌入到网站新根布局内的 iframe 中。
目的是节省时间并避免网站新旧部分之间的 Javascript 和 CSS 样式冲突。
到目前为止,我已经能够有条件地将流量从旧区域重定向到区域控制器中 OnActionExecuting 方法中的新 URL。
例如http://localhost:80/Area/Account/Profile转http://localhost:80/App/Area/Account/Profile
我现在的麻烦是设置一个可以将整个 URL 传递给特定操作和控制器的 catch all 路由,以便我可以获取 URL 并将其应用到 iFrame。
我的路由中有这个,但它没有将路径传递给操作,如果路径中有多个段,它根本不会到达路由:
routes.MapRoute(
"AppRedirect", // Route name
"App/{*page}", // URL with parameters
new { controller = "Home", action = "App", page = UrlParameter.Optional }
);
有没有一种方法可以让路线与包括所有路段在内的完整路径一起工作?
或者有没有更好的方法将项目区域之一嵌入到新根布局中的 iFrame 中,同时保持与旧配置类似的可读 URL?如果有帮助,我不想修改旧Area的结构或路由配置。
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-3 iframe asp.net-mvc-routing