Iis 7 ASP.NET MVC4仅在IIS7上显示@RenderBody内容

Iis 7 ASP.NET MVC4仅在IIS7上显示@RenderBody内容,iis-7,asp.net-mvc-4,Iis 7,Asp.net Mvc 4,ASP.NET MVC4仅在IIS7上显示@RenderBody内容 安装:我有一个运行Windows7的虚拟机,我在上面安装了IIS7、MVC3和MVC4以及Web平台安装程序。我使用.NET 4.0应用程序池在IIS中添加了一个新网站,然后使用Visual Studio 2012发布选项将MVC4 web应用程序发布到网站的根目录 问题是我得到的唯一输出是个人视图中的内容。这里没有布局,只有@RenderBody内容 当我使用VisualStudio预览它时,它工作得很好 这是my_Layo

ASP.NET MVC4仅在IIS7上显示@RenderBody内容

安装:我有一个运行Windows7的虚拟机,我在上面安装了IIS7、MVC3和MVC4以及Web平台安装程序。我使用.NET 4.0应用程序池在IIS中添加了一个新网站,然后使用Visual Studio 2012发布选项将MVC4 web应用程序发布到网站的根目录

问题是我得到的唯一输出是个人视图中的内容。这里没有布局,只有@RenderBody内容

当我使用VisualStudio预览它时,它工作得很好

这是my_Layout.cshtml:

    <!DOCTYPE html>
    <!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ -->
    <!--[if IE 8]>    <html class="no-js lt-ie9" lang="en"> <![endif]-->
    <!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
    <head>
        <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width" />
        <title>@ViewBag.Title</title>
        <link rel="shortcut icon" type="image/x-icon" href="~/favicon.ico">

        @Styles.Render("~/Content/css")
        @Scripts.Render("~/bundles/modernizr")
    </head>
    <body>
        <!-- this is decorative -->
        <div class="topbar"></div>

        <div class="row header">
            <div class="five columns logo">            
                <a href="@Url.Action("Index", "Home")">
                    <img src="@Url.Content("~/Content/images/logo.png")">
                </a>
            </div>
            <div class="seven columns nav">
                @Html.Partial("_TopNavigationPartial")
            </div>
        </div>

        @RenderBody()

        <div class="row">
            <div class="twelve columns box-padding">
                <div class="box">
                    <div class="row footer">
                        <div class="six columns copyright">&copy; 2013 snip.</div>
                        <div class="six columns nav">
                            @Html.Partial("_BottomNavigationPartial")
                        </div>
                    </div>
                </div>
            </div>
        </div>

        @Scripts.Render("~/bundles/jquery")
        @RenderSection("scripts", required: false)     
    </body>
    </html>

@视图包。标题
@style.Render(“~/Content/css”)
@Scripts.Render(“~/bundles/modernizer”)
@Html.Partial(“\u TopNavigationPartial”)
@RenderBody()
&抄袭;2013年剪报。
@Html.Partial(“\u BottomNavigationPartial”)
@Scripts.Render(“~/bundles/jquery”)
@RenderSection(“脚本”,必需:false)
所有将输出的内容都是视图中的内容,例如:

    <div class="row">
        <div class="twelve columns box-padding">
            <div class="box">
                <h1>Home</h1>
                <p>You are here: Home/Index</p>
            </div>
        </div>
    </div>

家
你在这里:主页/索引

有人知道为什么会这样吗

可能只是我没有正确设置IIS7

编辑:我刚刚上传了
互联网应用程序,它也做了同样的事情。仅输出视图内容。所以这肯定是IIS中的一些东西

编辑2:我已将
互联网应用程序设置为IIS中的应用程序,但它仍然只返回查看内容。奇怪


编辑3:让它工作了,但不确定如何工作

设法解决了这个问题。不确定到底是什么问题,但我正在创建一个新网站,然后将已发布的文件拖到其中,这不起作用

然后我在默认网站上添加了一个应用程序,这很有效,但后来我发现这解释了默认网站本身就是一个应用程序


因此,最后我只是将已发布的文件复制到默认的根目录中,它起了作用。

设法解决了这个问题。不确定到底是什么问题,但我正在创建一个新网站,然后将已发布的文件拖到其中,这不起作用

然后我在默认网站上添加了一个应用程序,这很有效,但后来我发现这解释了默认网站本身就是一个应用程序


因此,最后我只是将发布的文件复制到默认的根目录中,它工作了。

您是否查看了浏览器生成的HTML源代码?它是否只包含视图内容?您是否确保web服务器上存在并已成功部署了
~/Views/\u ViewStart.cshtml
~/Views/Shared/\u Layout.cshtml
文件?正确,只有源中的视图内容。没有别的了。我仍然可以导航到其他视图。web服务器具有这两个文件,并且位于正确的位置。是否在派生视图中定义了主布局@{Layout=“~/Views/Shared/.cshtml”}在
~/Views/\u ViewStart.cshtml
中,我有:
{Layout=“~/Views/Shared/\u Layout.cshtml”}
但不在实际视图中。您是否将其设置为IIS中根目录下的网站或应用程序?是否查看了浏览器生成的HTML源代码?它是否只包含视图内容?您是否确保web服务器上存在并已成功部署了
~/Views/\u ViewStart.cshtml
~/Views/Shared/\u Layout.cshtml
文件?正确,只有源中的视图内容。没有别的了。我仍然可以导航到其他视图。web服务器具有这两个文件,并且位于正确的位置。是否在派生视图中定义了主布局@{Layout=“~/Views/Shared/.cshtml”}在
~/Views/\u ViewStart.cshtml
中,我有:
{Layout=“~/Views/Shared/\u Layout.cshtml”}
但不在实际视图中。您是否将其设置为IIS根目录下的网站或应用程序?