IIS7で@RenderBodyコンテンツのみを表示するASP.NET MVC4
セットアップ: IIS7、MVC3、MVC4 を Web Platform Installer でインストールした Windows 7 を実行している VM があります。.NET 4.0 アプリケーション プールを使用して IIS に新しい Web サイトを追加し、Visual Studio 2012 発行オプションを使用して MVC4 Web アプリを Web サイトのルート ディレクトリに発行しました。
問題は、私が得ている唯一の出力が個々のビューにあるものであることです。@RenderBody コンテンツ以外にレイアウトはありません。
Visual Studio でプレビューすると問題なく動作します。
これは私の _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">© 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>
ただし、出力されるのはビューにあるものだけです。
<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 を正しくセットアップしていないだけです。
編集:をアップロードしたところInternet application
、まったく同じことが行われました。ビューのコンテンツのみが出力されています。したがって、それは間違いなくIISの何かです。
編集 2: IIS でアプリケーションとして設定しましたInternet application
が、それでもビュー コンテンツのみが返されます。変。
編集 3:うまくいきましたが、方法がわかりません。http://i.imgur.com/ZpKb4P5.gif