作为标题,我已经实现了路由并且工作正常,但是 CSS js 和 jpg 文件的路径是错误的。
我包含了该库System.Web.Routing
,它正确显示在 web.config 中
<compilation debug="true" strict="false" explicit="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</assemblies>
</compilation>
从我写的标记中的 home.aspx 开始
<a href="search/shoes/" title="" > <img class="BorderHyperLinkImmagine" src="img/b5.jpg" alt="" /></a>
与以 CSS 开头的 global.asax 相比,我在浏览器的开发工具中收到 404 错误,指向我所有的本地链接(jpg、css、js)导致路由:
http://mysyte.com/search/shoese/style.css
而不是:
http://mysyte.com/style.css
正如您所看到的,有一些注释行,我已经尝试了所有这些行,但我得到了相同的结果,错误的路径(404)。
Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
'added for redirect and rewriting URL
Me.RegisterRoutes(RouteTable.Routes)
End Sub
'added for redirect and rewriting URL
Sub RegisterRoutes(ByVal routeCollection As RouteCollection)
'RouteTable.Routes.RouteExistingFiles = False
routeCollection.Ignore("{resource}.css/{*pathInfo}")
routeCollection.Ignore("{resource}.axd/{*pathInfo}")
'routeCollection.Ignore("{*allcss}", New With {.allcss = ".*\.css(/.*)?"})
'routeCollection.Ignore("{*alljpg}", New With {.alljpg = ".*\.jpg(/.*)?"})
'routeCollection.Add(New Route("*\.css", New StopRoutingHandler()))
'routeCollection.Ignore("{folder}/{*pathInfo}", New With {.folder = "css"})
routeCollection.MapPageRoute("RouteForpage", "search/{type}/", "~/lookupfortype.aspx")
End Sub
URL 是正确的,如在浏览器中显示的两个地方home.aspx
,和lookupfortype.aspx
。我无法使其工作,我可以尝试更多以及如何调试它,为什么路由会忽略忽略代码:-)
谢谢您的帮助