【问题标题】:Redirect from .aspx url to .aspx page从 .aspx 网址重定向到 .aspx 页面
【发布时间】:2013-11-14 02:20:35
【问题描述】:

我正在将我的 asp.net 页面从 asp.net 2.0 更新到 MVC4。

我要做的是基本上继续支持现有的网址:

mypage.com/one.aspx 向后兼容,除了我想将所有 aspx 页面放在一个 aspx 目录中,所以新的 url 将是 mypage.com/aspx/one.aspx。

如果我直接输入 url mypage.com/aspx/one.aspx 它可以工作并且页面会出现。

现在我正在尝试使用 RouteConfig 告诉它将 one.aspx 重定向到 aspx/one.aspx,但我看不到如何做到这一点。我看到的所有 RouteConfig 示例都使用控制器,这不是我想要做的:

routes.MapRoute(name: "ONE", url: "one.aspx", defaults: new { controller = "Home", action = "Index" });

有没有办法在 RouteConfig 中使用 MapRoute 重定向到另一个 aspx 页面?我将 C# 与 MVC4 一起使用。

【问题讨论】:

    标签: c# asp.net-mvc-4 redirect


    【解决方案1】:

    这必须有效:

    routes.MapPageRoute("aspx-redirection", "{page}.aspx", "~/aspx/{page}.aspx");
    

    【讨论】:

    • 它对我不起作用...匹配的路由不包含“控制器”路由值,这是必需的。
    • 这不是MapRoute 方法。这是MapPageRoute。这个不需要任何与控制器相关的东西。它只是做Server.Transfer 的东西。
    • 谢谢我没注意到
    【解决方案2】:

    有... 但它不是直接来自 MapRoute

    routes.MapRoute(
            name: "Legacy",
            url: "aspx222/{page}.aspx",
            defaults: new { controller = "Home", action = "Page", page = UrlParameter.Optional }
    
        );
    

    然后在主页中的页面

    public ActionResult Page(string page)
    {
    
        return Redirect(String.Format("/aspx/{0}.aspx",page));
    
    }
    

    【讨论】:

      猜你喜欢
      • 2010-11-08
      • 1970-01-01
      • 2012-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-12
      相关资源
      最近更新 更多