为什么我的URL路由不起作用?

时间:2011-09-18 19:13:41

标签: .net asp.net vb.net visual-studio-2010 asp.net-routing

在global.asax的应用程序启动中我有

 Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
        RegisterRoutes(RouteTable.Routes)
 End Sub

Private Sub RegisterRoutes(ByVal routes As RouteCollection)
  routes.MapPageRoute("contactform", "{locale}/contact", "~/general/ContactUs.aspx")
End Sub
gopg的奇怪之处在于,当我直接访问网页时

~/general/contactus.aspx
一切都像魅力一样,但当我间接访问页面时

~/en/contact

返回404错误!我在这里错过了什么吗?

1 个答案:

答案 0 :(得分:1)

这可能与多件事有关。我首先要看的是:

确保您的应用程序在IIS 7.0或+。

下运行

确保您的应用程序在IIS 7或IIS 7.5中的集成模式应用程序池下运行。

确保web.config文件中包含以下代码:

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

虽然不确定,但IIS 7.5上不需要上面的代码。   这应该已经为IIS 7.5配置了开箱即用。