作为标题,我已经实现了路由并且工作正常,但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
网址正确,如浏览器中home.aspx
和lookupfortype.aspx
所示。我无法使其工作,我可以尝试更多,如何调试,为什么忽略代码被路由忽略: - )
感谢您的帮助
答案 0 :(得分:0)
我用这种方式解决了这个问题:
<link rel="stylesheet" href="<%= Page.ResolveUrl("~/myStylysheet.css")%>" type="text/css" media="screen" />
我希望这对其他人有用。