2011-04-09 116 views
0

可能重複:
Images in CSS not showing in ASP.NET MVC圖片沒有顯示上發佈ASP.NET MVC網站

我已經問過這個,但沒有得到答覆是固定的。我再次提出要求,因爲我嘗試了所有我能想到的事情,並且完全陷入困境。我以前的問題是在這裏:CSS images not showing in ASP.NET MVC

我有一個ASP.NET MVC應用程序與圖像在〜/ image /目錄。當我在開發中運行它時,圖像顯示正常。發佈時,它們根本不顯示。我不認爲這是一個參考路徑問題,因爲我已經嘗試了../,./,〜/等的所有組合,我可以想到。無論是css參考,<img>還是<asp:Image>標籤都可以工作,並且都有相同的問題。我試過編輯圖像和所有父文件夾上的Windows安全無濟於事。

當我將鼠標放在螢火蟲中的圖像路徑上時,圖像預覽框會旋轉,就好像圖像已找到但無法加載。

非常奇怪的是,當我嘗試直接轉到圖像(www.web.com/images/image.png)時,我被重定向到默認登錄頁面。 ASP.NET MVC放入項目的默認帳戶控制器位於我的應用程序中,但我尚未實施任何登錄控制。所以我認爲這是驗證問題。或者也許這是一個IIS問題?

我很感激您可以給予的任何幫助。我已經堅持了近一個星期,可能不得不一起放棄圖像,我無法得到這個排序。

回答

2

我終於想通了這將是一件好事。有問題的圖像文件被加密。右鍵單擊圖像文件 - >屬性 - >常規選項卡上的高級按鈕 - >取消選中「加密內容以保護數據」 - >確定 - >確定。

當我發現文件名在Windows資源管理器中顯示爲綠色時,終極提示。我始終看到綠色文件名,沒有任何問題,所以我沒有想到任何問題。然後我發現這是整個網絡應用程序文件夾中唯一的綠色文件。把2和2放在一起,它立即工作。謝謝大家的幫助。

4

檢查螢火蟲的路徑。這是對的嗎?

您是否使用助手來生成URL?喜歡的東西:

<img src='<%= Url.Content("~/images/image.png")' /> 
+0

感謝您的回覆。螢火蟲路徑是正確的,我嘗試使用Url.Content,仍然沒有。 – Ross 2011-04-09 05:17:28

+1

這解決了我的問題與重定向。謝謝。 – Craig 2014-01-19 11:15:41

5

重定向到登錄頁面,你的IIS安全設置顯示指定目錄的內容之前強制認證常用指標。圖像子目錄是通常允許未經身份驗證的用戶可見的其中一個。

這對你的web.config文件中添加<configuration>元素下,允許到該目錄中的內容自由接入:

<location path="images"> 
    <system.web> 
    <authorization> 
     <allow users="?"/> 
    </authorization> 
    </system.web> 
</location> 
+0

感謝您的回覆,但我添加了這個,但仍然沒有。有沒有一種方法來驗證IIS中的圖像可見性設置? – Ross 2011-04-09 05:20:54

+1

我在同一主題上重讀了你的其他問題。在那裏你引用一個** images **(帶有一個s)的子目錄。如果該子目錄是複數,則需要將位置標記複數的路徑部分也設爲複數(我編輯了匹配的答案)。另外,爲了排除CSS路徑問題,請在你的css文件中試試這個:'url('../ images/bsb_header2.png')' – Tahbaza 2011-04-09 14:25:24

+0

@Tahbaza - 我知道這個線程已經快7年了,但你解決了一個問題我已經有一個小時或更長時間了! – KentGeek 2017-11-23 16:31:20

0

我重讀,看到你使用的是IIS,而不是卡西尼。它在娛樂場工作嗎?如果是這樣,那麼我們正在處理一個iis配置問題。有時你需要運行aspnet_regiis.exe來用iis註冊asp.net。由於頁面的其他部分正在渲染,所以看起來很漫長。值得一試。這裏有一些鏈接,附加一些信息http://www.devx.com/vb2themax/Tip/18849

+0

謝謝!我安裝了CassiniDev並通過它加載了正確的圖像,所以現在我知道這是一個IIS問題。我會嘗試按照你的建議向IIS註冊asp.net並報告回來,但至少我現在有一些東西可以回退。 – Ross 2011-04-09 17:51:48

+0

跑了aspnet_regiis.exe;同樣的問題。現在回到CassiniDev,但我現在肯定知道這是一個IIS問題,謝謝。 – Ross 2011-04-09 18:10:50

0

只是踢,把一些圖像在不同的文件夾,並嘗試,看看你是否可以打他們,而無需進行身份驗證,如果你發佈你的web.config