Asp.net mvc 如何将Homepage.aspx重定向到MVC默认路由?

Asp.net mvc 如何将Homepage.aspx重定向到MVC默认路由?,asp.net-mvc,routing,Asp.net Mvc,Routing,我们正在开发一个新系统来取代现有的系统 新系统是ASP.NET MVC,因此我们将到控制器的路由和操作定义为正常 旧系统与传统的ASP.NET相同,因此URL由许多.aspx页面组成 我们希望设置重定向,这样当用户尝试访问/Homepage.aspx时,很多用户都会将其添加到书签中,他们将被重定向到新系统的默认路径,即/ 对我来说,最好的方法是什么 编辑:@Chance建议我在下面指定路线: routes.MapRouteHomepage,Homepage.aspx,新的{controller=

我们正在开发一个新系统来取代现有的系统

新系统是ASP.NET MVC,因此我们将到控制器的路由和操作定义为正常

旧系统与传统的ASP.NET相同,因此URL由许多.aspx页面组成

我们希望设置重定向,这样当用户尝试访问/Homepage.aspx时,很多用户都会将其添加到书签中,他们将被重定向到新系统的默认路径,即/

对我来说,最好的方法是什么

编辑:@Chance建议我在下面指定路线:

routes.MapRouteHomepage,Homepage.aspx,新的{controller=controller,action=Homepage}


这是可行的,但我想重定向,因为我不想在地址栏中显示Homepage.aspx。还有什么我可以做的吗?

您只需为默认控制器/操作提供一条硬编码的额外路线即可。即

routes.MapRouteHomepage,Homepage.aspx,新的{controller=controller,action=Homepage};

您只需为默认控制器/操作提供一条硬编码的额外路线即可。即

routes.MapRouteHomepage,Homepage.aspx,新的{controller=controller,action=Homepage};

您可以看一看,其中说明了如何实现将执行301永久重定向的传统路由处理程序

您可以看一看,其中说明了如何实现将执行301永久重定向的传统路由处理程序

另一种选择是创建一个静态页面,用元重定向替换HomePage.aspx。这将允许您向用户显示一条消息,通知他们站点已更改,并敦促他们更新书签


通过为404创建一个指向静态页面或特定URL的自定义错误处理程序,您可以将其扩展到整个站点。

另一个选项是创建一个静态页面,用元重定向替换HomePage.aspx。这将允许您向用户显示一条消息,通知他们站点已更改,并敦促他们更新书签


通过为404创建一个指向静态页面或特定URL的自定义错误处理程序,您可以将其扩展到整个站点。

将此代码放入global.asax文件中:

protected void Application_BeginRequest(object sender, EventArgs e)
{    
    if (Request.Url.ToString().ToLower().Contains("homepage.aspx"))
    {            
        // use RedirectPermanent for 301, or Redirect for 302
        Context.Response.RedirectPermanent("/");
    }
}

您可以修改此代码以应用于其他旧的.aspx页面。

将此代码放入您的global.asax文件中:

protected void Application_BeginRequest(object sender, EventArgs e)
{    
    if (Request.Url.ToString().ToLower().Contains("homepage.aspx"))
    {            
        // use RedirectPermanent for 301, or Redirect for 302
        Context.Response.RedirectPermanent("/");
    }
}

您可以修改此代码以应用于其他旧的.aspx页面。

这是可行的,但我想进行重定向,因为我不想在地址栏中显示Homepage.aspx。这对我不起作用,除了上面的代码,我还缺少什么?我正在使用MVC3。这是可行的,但我想做一个重定向,因为我不想在地址栏中显示Homepage.aspx。这对我不起作用,除了上面的代码,我还缺少什么?我使用的是MVC3。这就成功了,不过需要注意的是,博客文章中的代码本身不起作用。然而,他链接到的示例项目中的代码是:我尝试使用此示例,但在fiddler中没有看到301,并且旧的url仍然在浏览器中。在内部,它会重定向到我想要的视图,如何在浏览器中显示新的url?给定的链接不会打开。这就成功了,不过应该注意,博客文章中的代码本身不起作用。然而,他链接到的示例项目中的代码是:我尝试使用此示例,但在fiddler中没有看到301,并且旧的url仍然在浏览器中。在内部,它重定向到我想要的视图,如何在浏览器中显示新的url?给定的链接不会打开。