ASP.NET MVC 3 - 如果在 IIS 7.5 上部署为应用程序,则找不到图像

标签 asp.net asp.net-mvc-3 iis-7.5

我有一个 ASP.NET MVC 3 网站,运行于 http://localhost/ 。我还有一个新项目(ASP.NET MVC3),我想将其部署为应用程序 所以 URL 看起来像 http://localhost/child/

但我对图像有疑问。如果我使用 <img src="/content/img/site-logo.png" alt="logo" /> 创建图像 该图像不可用,因为实际的 URL 应该是 /child/content/img/site-logo.png .

如果我把url放入 Url.Content("~/content/img/site-logo.png") 就可以解决这个问题 但我现在不想更改所有图像。

有更简单的解决方案吗?一些 IIS 7 设置?

最佳答案

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

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

这对我来说已经解决了,希望它对你有用。

关于ASP.NET MVC 3 - 如果在 IIS 7.5 上部署为应用程序,则找不到图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7396316/

相关文章:

c# - ScriptManager.RegisterClientScriptBlock 和 Response.Write 有什么区别?

ASP.NET Web 服务初始化

asp.net-mvc-3 - MVC Action 被调用两次?

asp.net-mvc-3 - 在 mvc3 中使 Html.Editorfor 字段只读

asp.net - 使用 asp.net (IIS7) 重新启动应用程序池

c# - 通过 Microsoft.Web.Administration 使用用户名/密码创建 AppPool

wix - 将服务器上已安装的 SSL 证书分配给与 WiX iis :Certificate extensions? 的 https 绑定(bind)

c# - 当 ID 自动递增时,如何在 Visual Studio 中将其他值插入数据库

c# - 使用 CheckBox 在 ASP.NET GridView 中选择行

asp.net-mvc-3 - 在@ViewBag 中将十进制格式设置为货币