1

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">&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>

ただし、出力されるのはビューにあるものだけです。

    <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

4

1 に答える 1

1

これを修正することができました。何が問題なのか正確にはわかりませんが、新しい Web サイトを作成し、公開されたファイルをそこにドラッグしていましたが、うまくいきませんでした。

次に、アプリケーションをデフォルトの Web サイトに追加しましたが、これは機能しましたが、デフォルトの Web サイト自体がアプリケーションであることを説明するこの投稿を見つけました。

最終的に、公開されたファイルをデフォルトのルート ディレクトリにコピーしたところ、機能しました。

于 2013-01-30T16:55:58.537 に答える