5

@Html.Partial()現在、 内でビューをレンダリングできません@section

これは ServiceStack でサポートされていますか? 以下のコード例では、最初の部分 ( の外側@section)レンダリングされます。内部で@sectionは、周囲の HTML のみがレンダリングされます。

私のフォルダ構造は次のようになります。

  • /ビュー/
    • MyLayout.cshtml
    • MyView.cshtml
  • /共有/
    • _MyPartialView.cshtml

MyLayout.cshtml は次のようになります。

@inherits ServiceStack.Razor.ViewPage<MyViewModelBase>
...

@RenderBody()

<div id="sidebar">
    @RenderSection("sidebar")
</div>

MyView.cshtml には次のものが含まれます。

@inherits ServiceStack.Razor.ViewPage<MyViewModel>

@{
    Layout = "MyLayout";
}

@Html.Partial("_MyPartialView")

@section sidebar {
    <h2>Side Bar</h2>

    @Html.Partial("_MyPartialView")

    <p>Some other content</p>
}

部分ビューにはプレーンな HTML しか含まれていません。

4

2 に答える 2

2

数日前に Github でバグを報告し、@mythz が問題の修正をコミットしました。

SO の投稿を参照してください: Service Stack 4.0.15: Razor Partial not output inside @section

良いニュースは、修正が Myget ( https://github.com/ServiceStack/ServiceStack/wiki/MyGet )経由で 4.0.16 (プレリリース) で利用できることです。

Github の問題は次のとおりです。

https://github.com/ServiceStack/Issues/issues/60

于 2014-03-29T22:46:13.940 に答える
2

多分あなたはこのようなことをすることができますか?

@{ var myPartialView = Html.Partial("_MyPartialView"); }

@section sidebar {
    <h2>Side Bar</h2>

    @myPartialView

    <p>Some other content</p>
}

Html.Partial は MvcHtmlString を返すだけなので、それを変数に入れることができます。

于 2013-08-28T23:34:51.150 に答える