2010-05-24 53 views
0

如果我用2个查询参数路由,这样的:帮助ASP.NET 4.0路由和子文件夹

System.Web.Routing.RouteTable.Routes.MapPageRoute("HomeRoute", "home/{f1}/{f2}", "~/Home.aspx"); 

我的形象我Home.aspx页面上没有出现:

<img src="~/img/img.jpg" /> or <img src="img/img.jpg" /> 

但它确实出现在我访问http://localhost:3760/Website/Home.aspx的URL时

我尝试使用Routing.Ignore没有运气。我寻找一个解决方案,它应该适用于无限数量的子文件夹:“home/{f1}/{f2} /.../ {fn}”

ASP.NET路由模块引发了这个问题。图像将显示,如果I型<img src="../../img.jpg" />但这进一步去<img src="../../../img.jpg" />如果我有“家用/ {F1}/{F2}/{F3}”上的路由规则

回答

1

嗯,我可以看到,<img src="~/img/img.jpg" />是错误的 它应该是<img src="<%=Page.ResolveClientUrl(~/img/img.jpg)%>" />

这是因为〜是一个asp符号,而不是html符号。

不幸的是,我不知道这是否是您的实际问题

+0

是的,您是对的,谢谢。没有其他更简单的解决方案吗?我不想在每个使用 – 2010-05-24 13:54:15

+0

的图像上键入ResolveClientUrl,您可以查看Page.ResolveClientUrl在您的html页面中解析到的内容并使用该URL。我个人更喜欢asp位。如果您的网站结构发生变化,可以节省大量时间 – Andrey 2010-05-24 14:06:35