C# 为什么不';加载视图时,我是否会使用我的_ViewStart和_Layout文件?
我已经创建了一个MVC3应用程序,使用了一个非常标准的设置。My _ViewStart文件指定应使用_布局,并且我的CSS和JS文件包含在_布局文件中 当我调试并导航到/Home/Index时,我的页面看起来和我预期的完全一样。我的站点样式设置正确,我的所有javascript都存在 当我将此站点发布到IIS服务器,然后将navidate发布到/Home/Index时,会加载站点,但页面没有样式或javascript。当我查看源代码时,我可以看到IIS所做的一切都是直接为Index.cshtml提供服务,而无需首先将其与_布局相结合。我不明白为什么它可以在调试中工作,但不能在IIS中工作。这可能是权限问题吗 已解决C# 为什么不';加载视图时,我是否会使用我的_ViewStart和_Layout文件?,c#,.net,asp.net-mvc-3,C#,.net,Asp.net Mvc 3,我已经创建了一个MVC3应用程序,使用了一个非常标准的设置。My _ViewStart文件指定应使用_布局,并且我的CSS和JS文件包含在_布局文件中 当我调试并导航到/Home/Index时,我的页面看起来和我预期的完全一样。我的站点样式设置正确,我的所有javascript都存在 当我将此站点发布到IIS服务器,然后将navidate发布到/Home/Index时,会加载站点,但页面没有样式或javascript。当我查看源代码时,我可以看到IIS所做的一切都是直接为Index.cshtml
我在下面提交了我的解决方案。一旦48小时的等待期结束,我将接受它。不查看样式的一种可能性是,您硬编码了自定义javascript和CSS文件的URL,如下所示:
<link href="/Content/MyStyle.css" rel="stylesheet" type="text/css" />
不要使用url帮助程序:
<link href="@Url.Content("~/Content/MyStyle.css")" rel="stylesheet" type="text/css" />
因此,不再考虑在IIS中承载应用程序的虚拟目录
如果看不到_Layout.cshtml的内容,请确保它已与
_ViewStart.cshtml
一起部署在IIS中。IIS没有理由不为这些文件提供服务。看不到样式的一种可能性是您硬编码了自定义javascript和CSS文件的URL,如下所示:
<link href="/Content/MyStyle.css" rel="stylesheet" type="text/css" />
不要使用url帮助程序:
<link href="@Url.Content("~/Content/MyStyle.css")" rel="stylesheet" type="text/css" />
因此,不再考虑在IIS中承载应用程序的虚拟目录
如果看不到_Layout.cshtml的内容,请确保它已与
_ViewStart.cshtml
一起部署在IIS中。IIS没有理由不提供这些文件。您是否碰巧使用了IIS7?如果是,请确保已启用静态内容服务:
您是否有机会使用IIS7?如果是,请确保已启用静态内容服务: 动臂,解决了它 我的应用程序池以错误的用户身份运行。该特定用户没有对我的应用程序目录的读取权限 这很类似于,但我没有得到任何类型的错误 谢谢大家 轰,解决了 我的应用程序池以错误的用户身份运行。该特定用户没有对我的应用程序目录的读取权限 这很类似于,但我没有得到任何类型的错误
谢谢大家 剃须刀是否已解析或包含在输出中?如果是,则您的网站可能指向web应用程序的错误文件夹。我假设您确认您的
\u ViewStart.cshtml
文件存在于发布位置?剃须刀是否已解析或包含在输出中?如果是,则您的网站可能指向web应用程序的错误文件夹。我假设您确认您的\u ViewStart.cshtml
文件存在于发布位置?这是检查虚拟目录问题的好主意,但我的和标记未被处理,因为它们位于_布局文件中,并且_布局代码从未运行。检查虚拟目录问题是个好主意,但我的和标记未被处理,因为它们位于_布局文件中,并且_布局代码从未运行。