将aspx路由到控制器

时间:2015-03-18 14:24:42

标签: c# model-view-controller routes

我尝试使用路由系统将aspx中的旧页面版本重定向到我的控制器。

样品:

old Urlpage : ~/mypage.aspx?extraparam=123
new UrlPage : ~/HomeMyaction?extraparam=123 (or /Home/MyAction/123)

我试试这个:

routes.MapRoute(
                name: "MyPage",
                url: "mypage.aspx",
                defaults: new { controller = "Home", action = "MyAction" },
                namespaces: new string[] { "MyApp.Controllers" });


routes.MapRoute(
                name: "MyPage",
                url: "{namepage}.aspx",
                defaults: new { controller = "Home", action = "MyAction" },
                namespaces: new string[] { "MyApp.Controllers" });

但每次尝试我的网站都会返回错误404,因为他尝试访问“mypage.aspx”,但它们不再存在,我无法更改旧的访问权限。

我尝试忽略“mypage.aspx”,如.axd

routes.IgnoreRoute("mypage.aspx/{*pathInfo}");

但我总是404 BadRequest'未找到资源'

1 个答案:

答案 0 :(得分:0)

关闭VisualStudio并重建我的整个解决方案后,我的路线运行正常。

我不知道为什么......

我用这个:

routes.MapRoute(
            name: "MyPage",
            url: "mypage.aspx",
            defaults: new { controller = "Home", action = "MyAction" },
            namespaces: new string[] { "MyApp.Controllers" });