Asp.Net System.Web.Routing不会路由URL,除非.aspx在最后

时间:2009-08-26 19:43:31

标签: asp.net routing

我有一个奇怪的路由问题。我有一个现有的网站,我试图将其添加到。它可以工作,但前提是.aspx位于URL的末尾。如果我删除.aspx,它会给我一个错误:“无法找到资源。”我创建了一个快速测试网站并将代码复制到它,它工作得很好。 2之间的代码是相同的。两者都在VS 2008 Web服务器上运行。我只是不明白。有什么想法吗?

谢谢, 文森特

3 个答案:

答案 0 :(得分:1)

好的,我发现了问题。我不明白为什么会导致这个问题,但是如果URL中有任何句点(。),则会出错。

我有这个:http://localhost:49463/site.dev/products/keylessentrykits

当我将其更改为:http://localhost:49463/sitedev/products/keylessentrykits时,删除网站与开发之间的时间段,它运行正常。

任何人都知道为什么会这样?这是一个错误吗?

另外,我之前应该说些什么,但这不是MVC应用程序。

答案 1 :(得分:0)

我认为您需要设置ISAPI dll来处理所有文件(即添加通配符)。它正在工作,因为它设置为处理.aspx。

答案 2 :(得分:0)

非常感谢您找到解决方案并发布。我一直在遭遇同样的问题,并且几天来一直试图解决这个问题!

我的解决方案包含几个项目:Web,业务逻辑,数据访问等。我的Web项目被称为“SystemName.WebForms”,当我从Visual Studio的调试环境编译和运行时,只有包含句点的路由被路由正常。将我的Web项目重命名为“SystemName_WebForms”后,所有路由都得到了正确处理。我非常怀疑这是你发现的一个错误。

非常感谢您找到解决方法并慷慨地发布它!

MomentSurfer