2011-03-17 60 views
2

我的項目是這樣佈置的,即.sln和一堆文件夾下面 - 所有這些文件夾中都有一個類庫項目。此外,在該文件夾列表中,是包含網站(稱爲網站)的文件夾。asp.net調試問題 - 網站路徑

在網站中,我有用於圖像,母版頁等的各種文件夾。

在母版頁中,我加載了一個圖像並參考它:src =「/ images/logo_blue.jpg」,因爲這是圖片的位置。

但是,當我在調試器中運行代碼時,母版頁不會拾取任何css,js文件或圖像 - 我覺得這是因爲IE中的網站路徑是給定的如:

http://localhost:61249/Website/Default.aspx

,如果我在x右鍵點擊其中的形象應該是,它是在尋找 http://localhost:61249/images/logo_blue.jpg「但它似乎像在 http://localhost:61249/website/images/logo_blue.jpg找到」

爲什麼調試器插入虛假的「websit」 e「進入路徑?爲什麼不是網站文件夾的實際網站的根目錄 - 它看起來像webste的根目錄實際上是解決方案文件夾。

我想,我只是做一些很明顯的....

回答

2

檢查你的web項目的屬性頁的網頁標籤。應該有一個虛擬路徑的設置 - 你想這只是「/」。

+0

很多很多謝謝! – Manicguitarist 2011-03-17 21:10:20

0

您也可能最終不得不在路徑前添加一個'〜',src =「〜/ images/logo_blue.jpg」。這告訴頁面尋找相對於站點根的這條路徑。母版頁面在由不同文件夾中的子頁面使用時丟失其引用會有點臭名昭着。

根據引用的位置,您可能還需要將URL包裝到ResolveClientUrl調用中。 在語法中後面的代碼將是:

src=Page.ResolveClientUrl("~/images/logo_blue.jpg") 

如果您使用的是標準的HTML圖像標記它應該是這樣的:

<img src='<%= Page.ResolveClientUrl("~/images/logo_blue.jpg") %>' /> 

或者,如果您使用的是ASP圖像控制您的標記將是:

<asp:Image ID="Image1" runat="server" ImageUrl='<%# Page.ResolveClientUrl("~/images/logo_blue.jpg") %>' /> 

但在這種情況下,你還必須在某個時候調用控件的數據綁定方法,這樣的URL得到解決。