2010-04-21 37 views
8

問候asp.Net MVC 2應用程序沒有樣式/圖像

我有一個小問題,我的ASP MVC應用程序。 在我的本地開發服務器上,一切正常,但是當我嘗試將應用程序發佈到IIS 7.0服務器時,它僅顯示沒有任何樣式/標記/圖像的普通頁面。

我把所有這些東西放在/ Content /子文件夾中,但是當我嘗試訪問生產服務器上的文件夾時,它只是返回一個404未找到的錯誤。

我設置IIS服務器了.NET 4.0,隨後在這裏部署指南:http://www.asp.net/learn/mvc/tutorial-08-cs.aspx

所有視圖/控制器/班似乎工作就好了,這不的唯一事情就是內容和子文件夾我不明白爲什麼。

任何人都有一個建議,我可以忽略或沒有人知道這個問題?

+0

如果您嘗試從瀏覽器直接導航到CSS文件,會發生什麼情況? – 2010-04-21 18:39:28

+0

404'd以及... – xenolf 2010-04-21 18:48:46

+0

你如何引用你的靜態文件?相對還是絕對?您的應用程序在IIS上如何配置?作爲根網站還是作爲其他網站內的應用程序文件夾? – 2010-11-03 02:29:15

回答

0

檢查您的內容文件夾的屬性...看他們是否因某種原因而不是「本地複製」。

+1

剛剛檢查過......所有東西都被複制過來了......好像不知怎麼的,路由會混淆現有的文件。我使用默認路由,實際上應該照顧,否則我錯了? – xenolf 2010-04-22 09:04:47

2

這是因爲您可能在src上使用了固定路徑,例如:../../Content/Styles/style.css。在MVC中,您應該使用Url助手:Url.Content("~/Content/Styles/style.css")

使用Url助手你應該沒有問題。

10

我有同樣的問題,但我發現它強制對內容文件夾進行身份驗證的原因。

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

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

+0

謝謝康納,那解決了我的問題 – arame3333 2011-03-22 16:13:18

+0

謝謝,真正的解決方案! – Tomas 2012-02-13 09:01:04

1

一直拉着我的頭髮整晚用這個。

在W2K8,MVC2,.NET 4.0和IIS 7(使用VS 2010)

確認在IIS_IUSRS有充分的權利,根文件夾,但仍然沒有去 - CSS,JS,圖像仍然沒有被訪問在渲染頁面....

,然後....那麼簡單:

在功能查看現場 - 定義MIME類型的.js,的CSS,和.jpg - 瞧!

甜!

p.s.我的第一個MVC應用程序 - 我想我喜歡它......

3

好吧,我加入了IIS_IUSR s到項目目錄,發現了同樣的問題:
CSS將不會加載並沒有什麼從內容文件夾。
但它解決了Unable to start debugging on the web server問題。
然後,我將IUSR添加到相同的文件夾,並解決了問題。現在,我可以看到圖像,CSS樣式和所有這些東西。

+0

當我分享我的wwwroot forlder(爲另一個用戶),然後它刪除了IUSR設置!在這個錯誤上失去了幾個小時。謝謝。 – 2011-12-30 17:00:10

0

虛擬目錄指向的文件夾向用戶提供「全部」讀取屬性。