2011-02-09 92 views
0

我想在asp.net 4.0中實現Url路由。我只是創建了一個小測試應用程序。我正在嘗試瀏覽保存在文件夾內的頁面。它工作正常,當我在Visual Studio中運行..但是當我在IIS7中託管應用程序,然後顯示一個錯誤。Url爲asp.net 4.0中的文件夾內的頁面路由?

HTTP錯誤404.0 - 未找到 您正在查找的資源已被刪除,名稱已更改或暫時不可用。

我使用的代碼是。 (我用的母版頁了。)

protected void Application_Start(object sender, EventArgs e) 
    { 
     CustomRouteTable(RouteTable.Routes); 
    } 

void CustomRouteTable(RouteCollection routes) 
    { 
     routes.MapPageRoute("Telugu", "Movie/Telugu", "~/Telugu/Telugu.aspx"); 

    } 

在我Default.aspx頁我保持一個按鈕,在按鈕的點擊我寫的。

protected void btnTelugu_Click(object sender, ImageClickEventArgs e) 
     { 
      Response.RedirectToRoute("Telugu"); 
     } 

我在哪裏出錯? 謝謝。

回答

0

您是否更新了web.config以支持IIS7上的URL路由。

<system.webServer> 
    <modules runAllManagedModulesForAllRequests="true"> 

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

    </modules> 
    <handlers> 

     <add name="UrlRoutingHandler" 
      preCondition="integratedMode" 
      verb="*" path="UrlRouting.axd" 
      type="System.Web.HttpForbiddenHandler, 
        System.Web, Version=2.0.0.0, Culture=neutral, 
        PublicKeyToken=b03f5f7f11d50a3a" /> 
     <!-- ... --> 

    </handlers> 
</system.webServer> 

這裏是artice我c/p的例子來自,這將給你更多的細節。

http://msdn.microsoft.com/en-us/magazine/dd347546.aspx

+0

好吧,我更新了我的配置文件與上面的代碼?我在ASP.NET 4.0(應用程序池)下的IIS中託管,它工作正常...但是,我是否需要它,因爲它顯示了3.5和2.0的參考? – 2011-02-09 17:07:59

1
protected void btnTelugu_Click(object sender, ImageClickEventArgs e) 
{ 
    Response.RedirectToRoute("Movie/Telugu"); 
}