2011-09-16 103 views
0

我定義我的路由頁面如下:ASP.Net路由問題

routes.MapPageRoute(
     "gans", 
     "MyRoutedPage", 
     "~/GardenTemplates/template4.aspx"); 

Web窗體template4.aspx有一個圖片庫:當用戶按下一個小圖像, 它會顯示在大圖:

//template4.aspx.cs 

string imageName = "../Images2/garden/2206/SomePhoto.jpg"; 
img.Attributes["onclick"] = "LoadGallery('" + imageName + "');     

//template4.aspx 

<script type="text/javascript"> 
function LoadGallery(imageName) { 
    var picture = document.getElementById('Gallery'); 
    if (picture != null) { 
     picture.src = imageFile; 
    } 
} 
</script>   

此代碼工作正常,如果我瀏覽到/GardenTemplates/template4.aspx 但showse GardenTemplates的目錄列表/當我按下小圖像從 MyRouted頁。 我的猜測是路由無法顯示上層目錄中的文件(因爲Images2位於有關template4.aspx頁面的父目錄中)。 我該如何解決這個問題?

+0

謝謝您的回答,可惜ResolveClientUrl沒有幫助。 我仍然去文件目錄GardenTempates /# 我不明白爲什麼只有當提供給javascript –

+0

我已經合併您的帳戶,您現在可以留下意見和編輯您的問題。 –

回答

0

ResolveClientUrl應該有所幫助。這看起來像一個客戶端問題。試着這麼做 -

img.Attributes["onclick"] = "LoadGallery('" + ResolveClientUrl(imageName) + "'); 

或...

img.Attributes["onclick"] = "LoadGallery('" + ResolveClientUrl("~/Images2/garden/2206/SomePhoto.jpg") + "'); 

http://msdn.microsoft.com/en-us/library/system.web.ui.control.resolveclienturl%28v=VS.90%29.aspx

+0

感謝您的回答,不幸的是ResolveClientUrl沒有幫助。我仍然去目錄GardenTempates /#的文件列表我不明白爲什麼只有在提供給JavaScript時纔會發生這種情況 –