2010-05-24 36 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