UI应用程序的URL重写问题

时间:2012-12-15 12:49:08

标签: asp.net

我将此代码添加到我的Global.asax中,但是Url重写不起作用。

void RegisterRoutes(System.Web.Routing.RouteCollection routes)
{
    routes.MapPageRoute("My-Account", "{page}", "~/myaccount.aspx");
    routes.MapPageRoute("Login", "Login", "~/login.aspx");
}

void Application_BeginRequest(object sender, EventArgs e)
{
    RegisterRoutes(System.Web.Routing.RouteTable.Routes);
}

3 个答案:

答案 0 :(得分:0)

首先:确保web.config

中存在以下代码
<system.webServer>
    ...
    <modules runAllManagedModulesForAllRequests="true"></modules>
    ...
</system.webServer>

第二:确保您使用的是.NET Framework4.0的应用程序池

第三:确保aspx文件存在

答案 1 :(得分:0)

您需要在应用程序启动时注册路由,而不是开始请求!此外,你的第一条规则胜过任何其他规则。订单很重要。

答案 2 :(得分:0)

在system.web

下的网络配置中尝试此操作
  <system.web>
    <urlMappings enabled="true">
      <add url="~/myaccount" mappedUrl="myaccount.aspx"/>
    </urlMappings>

代码隐藏文件写入

Response.redirect("~/myaccount")`

这100%