Asp.net mvc ASP.NET MVC如何将请求映射到旧位置?

Asp.net mvc ASP.NET MVC如何将请求映射到旧位置?,asp.net-mvc,asp.net-mvc-2,routing,asp.net-mvc-routing,Asp.net Mvc,Asp.net Mvc 2,Routing,Asp.net Mvc Routing,我刚刚开始了一个从webforms到asp.NETMVC2的升级项目。在该站点的根目录中有一个名为resources.aspx的文件,我需要从mvc截取该文件。如果我开始一个新项目,如果我尝试访问resources.aspx,我会得到一个404,但我已经创建了一个资源控制器。如何使控制器映射到/resources.aspx?无需创建控制器即可完成此操作。将此项添加到RegisterRoutes中routes.IgnoreRoute的右下方: routes.MapPageRoute("Re

我刚刚开始了一个从webforms到asp.NETMVC2的升级项目。在该站点的根目录中有一个名为resources.aspx的文件,我需要从mvc截取该文件。如果我开始一个新项目,如果我尝试访问resources.aspx,我会得到一个404,但我已经创建了一个资源控制器。如何使控制器映射到/resources.aspx?

无需创建控制器即可完成此操作。将此项添加到RegisterRoutes中routes.IgnoreRoute的右下方:

    routes.MapPageRoute("ResourcesOldRoute","resources","~/resources.aspx");
然后使用它,您的URL将类似于

如果出于某种原因需要控制器,则必须在索引ActionResult中重定向到该控制器

public ActionResult Index()
{
    return Redirect("/resources.aspx");
}

您可以在不创建控制器的情况下执行此操作。将此项添加到RegisterRoutes中routes.IgnoreRoute的右下方:

    routes.MapPageRoute("ResourcesOldRoute","resources","~/resources.aspx");
然后使用它,您的URL将类似于

如果出于某种原因需要控制器,则必须在索引ActionResult中重定向到该控制器

public ActionResult Index()
{
    return Redirect("/resources.aspx");
}

您需要了解ASP.NET MVC的路由功能。MVC的路由负责将URL和查询字符串映射到适当的区域、控制器和操作。然而,它总是允许你忽略特定的路线。从这么多细节很难说。您能否向我们展示一些代码调用片段,也许还有一些来自resources.aspx的代码调用片段?(如果有人想为您重写它)您是否有这些路由功能的示例,用于映射到I get it。将路由添加到global.asax.cs:routes.MapRoute(“Test”,“resources.aspx”,new{controller=“resources”,action=“Index”,id=urlparmeter.Optional});您需要了解ASP.NET MVC的路由功能。MVC的路由负责将URL和查询字符串映射到适当的区域、控制器和操作。然而,它总是允许你忽略特定的路线。从这么多细节很难说。您能否向我们展示一些代码调用片段,也许还有一些来自resources.aspx的代码调用片段?(如果有人想为您重写它)您是否有这些路由功能的示例,用于映射到I get it。将路由添加到global.asax.cs:routes.MapRoute(“Test”,“resources.aspx”,new{controller=“resources”,action=“Index”,id=urlparmeter.Optional});