asp.Net MVC 2应用程序上没有样式/图像

时间:2010-04-21 18:28:15

标签: iis-7 asp.net-mvc-2

问候

我的ASP MVC应用程序有点问题。 在我的本地开发服务器上一切正常,但是当我尝试将应用程序发布到IIS 7.0服务器时,它只显示没有任何样式/标记/图像的普通页面。

我将所有这些内容放在/ Content /子文件夹中,但是当我尝试访问生产服务器上的该文件夹时,它只返回404未找到的错误。

我使用.Net 4.0设置IIS服务器,并按照此处的部署指南进行操作:http://www.asp.net/learn/mvc/tutorial-08-cs.aspx

所有的视图/控制器/类似乎都运行得很好,唯一没有的是内容子文件夹,我不明白为什么。

任何人都有一个建议我可以忽略或有人知道这个问题吗?

6 个答案:

答案 0 :(得分:10)

我遇到了同样的问题,但我找到了为什么强制在Contents文件夹中进行身份验证的原因。

当用户尚未登录时,它们将被归类为匿名身份验证。在IIS7中(我正在使用它,猜测它在IIS6中是相同的)您需要在功能视图中打开身份验证窗口。然后编辑匿名身份验证,使用您的应用程序池标识或默认身份验证,只需确保该用户有权读取该文件夹。

为我修好了,希望它适合你。

答案 1 :(得分:3)

好吧,我将IIS_IUSR添加到项目目录中,发现了同样的问题:
内容文件夹中不会加载CSS,也不会加载任何内容 但它解决了Unable to start debugging on the web server问题 然后,我将IUSR添加到同一文件夹,并解决了问题。现在,我可以看到图像,CSS样式和所有这些东西。

答案 2 :(得分:2)

这是因为您可能在src上使用固定路径,例如:../../Content/Styles/style.css。在MVC中,您应该使用Url帮助程序:Url.Content("~/Content/Styles/style.css")

使用Url助手,您应该没有问题。

答案 3 :(得分:1)

用这个把头发拉了一整夜。

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

确保IIS_IUSRS拥有对根文件夹的完全权限,但仍然没有go-css,js,在呈现页面时仍无法访问图像....

然后....这么简单:

在网站的功能视图中为.js,.css和.jpg定义的MIME类型 - 并且瞧!

甜!

P.S。我的第一个mvc应用程序 - 我想我喜欢它......

答案 4 :(得分:0)

检查内容文件夹的属性...查看它们是否由于某种原因“本地复制”。

答案 5 :(得分:0)

虚拟目录指向的文件夹为用户提供了“All”读取属性。