0

いくつかの MVC3 Web アプリケーションのスイートがあり、そのすべてが共通の Core.dll を参照しています。RazorGenerator を使用して一般的なビューをコンパイルしました。サブスクライブ サイトは、事前にコンパイルされた .dll から関連するビューを問題なく見つけます。

レイアウト ページでも同じことをしようとしています。これはすべてのサイトに共通しているため、その特定のサイトに固有の 1 つまたは 2 つの div を保存します。これを行うだけで _layout ビューが提供される限り、これも問題なく機能します。

@{
     Layout = "~/Views/Shared/_Layout.cshtml";
}

しかし、レイアウトでサイト固有の div を取得するには、特定のサイトで部分的なビューを表示し、JQuery を使用して _layout でプレースホルダー div の HTML を設定します。何かのようなもの:

@{
     Layout = "~/Views/Shared/_Layout.cshtml";
}

//Have a hidden div containing the partial view that sits in the specific site
<div id="SiteSpecificStuff" style="display:none">
    @Html.Partial("_SiteSpecificStuff", model)
</div>

// Use jQuery to populate the html of the placeholding div on the _Layout 
// with that of the partial view
<script type="text/javascript">

    $(document).ready(function () {
          $("#divPlaceHolderOnLayout")
                        .html($("SiteSpecificStuff").html());
    });

</script>

私はこれを試しましたが、_ViewStart はすべての投稿で再起動しません。これは別のアプローチを使用して可能ですか?

4

1 に答える 1

0

私はあなたがこれを探していると思います:

@RenderSection("YouSection", required: false)
于 2013-07-18T13:53:56.747 に答える