2011-09-07 48 views
9

我在運行默認的「文件/新建」MVC3網站時無法讓本地II7加載樣式表。當我使用Visual Studio運行網站時,一切都很好。我創建了一個指向MVC網站根文件夾的IIS7網站。該網站出現,但沒有樣式表加載。我的應用程序池是爲.NET 4和集成模式設置的。ASP.NET MVC3 IIS無法獲取樣式表加載

本主題描述了相同的問題,但該修復無法幫助我(我已經選中了「服務靜態內容」設置)。

ASP.Net MVC & Local IIS Issue Loading Stylesheets

任何方向被理解!

+1

你是否檢查過文件權限這樣的顯而易見的東西? –

+2

如果您打開Firebug,您是否看到樣式表中發出的請求,是否返回錯誤? (404,500等) –

+0

可能重複的[ASP.Net MVC和本地IIS問題加載樣式表](http://stackoverflow.com/questions/6476899/asp-net-mvc-local-iis-issueloading-樣式表) –

回答

13

這解決方法是在IIS中啓用匿名身份驗證,然後右鍵單擊該節點,然後選擇編輯並選擇Application Pool Identity。現在一切都正確加載,使用提琴手時,我注意到樣式表/ js文件中出現401錯誤,所以我知道我有一個安全問題。

+0

然後,我應該如何修復它在Visual Studio附帶的IIS Express中? – Blaise

1

正如@Mike所說,我幾乎願意打賭,問題在於,當您運行本地時,與在服務器上運行時相比,CSS文件的路徑不同。

你的CSS文件位於哪裏?

例如,如果你的根文件夾的IIS是C:\的Inetpub \ wwwroot的......是你的CSS文件下

  • C:\的Inetpub \ wwwroot的\ somefolder \內容\ style.css中或下
  • c:\ inetpub \ wwwroot \ content \ style.css

4

在你的頁面佈局具有樣式表像:

<link href="@Url.Content("~/folder/style.css")" type="text/css" rel="stylesheet" />

這應該使它相對於你的應用程序有助於根的@url(內容(「〜/一部分

1

我也有這個問題,並且這裏的任何解決方案(或者我能找到的其他地方)都沒有幫助。

解決方案

原來,我的CSS文件是從zip格式的外部源下載的。使用Windows資源管理器將這些文件複製並從zip文件粘貼到我的IIS目錄中。如果您在執行復制操作之前首先解壓縮文件,那麼它不會弄亂權限,您將能夠在IIS中查看它們。

1

另一件需要檢查的事情是在Windows功能中啓用了靜態內容 - 這讓我每次都感受到了。在Windows 7中:

  1. 打開控制面板
  2. 選擇程序>程序和功能>打開Windows功能打開或關閉
  3. 展開Internet Information Services>萬維網服務>常見HTTP功能
  4. 檢查「靜態內容「
  5. 單擊確定並等待重試。