2009-05-30 68 views
6

我正在開發ASP .Net MVC應用程序,並且在我的開發機器上,應用程序按預期運行,更重要的是,CSS文件中提到的圖像正確顯示太。ASP .Net MVC - 未在發佈版本中顯示的圖像

但是,當我將此應用程序發佈到測試服務器時,該Web應用程序運行正常,但圖像未顯示。

如果我在測試來自測試服務器的輸出時修改IE中的URL,則返回該圖像,這意味着該文件在那裏,但正常使用該站點時它不會出現在視圖頁面內。

我也嘗試過替代服務器,但結果是一樣的。

要確認,這裏是從引用的圖像的CSS頁面中的行...

background-image: url('/Content/Images/Logo/myLogo.jpg'); 

有什麼建議?

乾杯

佈雷特

回答

19

的URL是不正確的,可能是由於這樣的事實:你是在一個子文件夾在服務器的根目錄發佈,所以他們不再。我通常使用Url.Content("~/Content/Images/...")來構建url,而不是對其進行硬編碼。這樣它將在建立路徑時考慮到路線。

例子:

<img src='<%= Url.Content("~/Content/Images/banner.jpg") %>' alt="Banner" /> 
1

可能的相對路徑是錯誤的......可能他們是錯的CSS文件本身。您可以使用FireBug查看CSS是否正確加載,然後您可以檢查圖像請求,通常在這種情況下您會看到紅色(錯誤)項目。這可能有助於本地化問題。

+0

好計劃 - 我會下載FireFox和FireBug,並會看到是否有幫助。 – 2009-05-30 16:19:46

0

爲什麼要這樣做......剛完成我的項目,現在我必須通過改變這個格式的一切!我的所有javascript都失敗了,我的所有圖片都失敗了!由於一些奇怪的原因,我的CSS很好,但爲什麼這不是更多的記錄!? Url.Content甚至不會顯示在intellisense下! ASP MVC剛剛在我的愛情規模上失去了一個點。

--very沮喪編碼器

3

我有同樣的問題,但我發現它爲什麼被強迫在文件夾的內容認證的原因。

當用戶還沒有登錄時,他們被分類爲匿名身份驗證。在IIS7中(我正在使用它,猜測它在IIS6中是一樣的),您需要在功能視圖中打開身份驗證窗口。然後編輯匿名身份驗證,以使用您的應用程序池標識或默認身份,只需確保該用戶有權讀取該文件夾。

爲我修好了,希望它適合你。