我使用非常标准的设置创建了一个MVC 3应用程序。我的_ViewStart文件指定应该使用_Layout,我的CSS和JS文件包含在_Layout文件中。
当我调试并导航到/ Home / Index时,我的页面看起来与我期望的完全一样。我的网站风格正确,我的所有javascript包括在内。
当我将此站点发布到IIS服务器,然后导航到/ Home / Index时,该站点会加载,但该页面没有样式或javascript。当我查看源代码时,我可以看到所有IIS都直接提供了Index.cshtml,而没有先将它与_Layout结合使用。我无法弄清楚它为什么在调试中工作,但在IIS中却无法解决。这可能是权限问题吗?
解决
我在下面提交了我的解决方案。一旦48小时等待期结束,我会接受它。
答案 0 :(得分:2)
答案 1 :(得分:1)
没有看到样式的一种可能性是您为自定义的javascript和CSS文件编写了硬编码,如下所示:
<link href="/Content/MyStyle.css" rel="stylesheet" type="text/css" />
而不是使用网址助手:
<link href="@Url.Content("~/Content/MyStyle.css")" rel="stylesheet" type="text/css" />
以便不再考虑您在IIS中托管应用程序的虚拟目录。
如果您看不到_Layout.cshtml的内容,请确保它已与_ViewStart.cshtml
一起部署在IIS中。 IIS没有理由不提供这些文件。
答案 2 :(得分:0)