2013-02-11 169 views
0

我正在使用簡單的代碼在基於Web的應用程序中執行URL重寫。URL路由不起作用

這裏是我的全球文件代碼:

void Application_Start(object sender, EventArgs e) 
{ 
    // Code that runs on application startup 
    RouteTable.Routes.MapPageRoute("Login", "Admin/LoginPage", "~/Admin/login.aspx"); 

} 

我已經添加在Web.config文件中還有如下線路:

<httpModules> 
    <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"></add> 
</httpModules> 

我不知道爲什麼這不是爲我工作。請幫助我..

+0

Framework版本? – Sakthivel 2013-02-11 07:59:40

+0

@codebrain我正在使用4.0 – 2013-02-11 08:01:25

+0

檢查此鏈接http://weblogs.asp.net/scottgu/archive/2009/10/13/url-routing-with-asp-net-4-web-forms-vs-2010 -and-net-4-0-series.aspx – 2013-02-11 08:06:15

回答

0

您是否在IIS中安裝了URL重寫擴展?

+0

爲什麼你需要那個? UrlRouting模塊不要求你安裝這個擴展。 – 2013-02-11 08:25:02

+0

在我的安裝中,我的web.config文件中沒有該模塊,但我需要安裝url路由。至少這就是我所記得的。 – Remy 2013-02-11 12:36:47

0

我想你把模塊添加到了錯誤的地方(<system.web>/<httpModules>)。

如果在綜合管線模式託管在IIS應用程序,你應該將模塊添加到<system.webServer>/<modules>節點:

<system.webServer> 
    <modules> 
     <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"></add> 
    </modules> 
</system.webServer>