5

我目前无法@Html.Partial()@section.

ServiceStack 支持吗?在我下面的示例代码中,第一个部分(在 之外@section确实被渲染了。里面@section只有周围的 HTML 被渲染。

我的文件夹结构如下所示:

  • /意见/
    • 我的布局.cshtml
    • 我的视图.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 (pre-release)

这是 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 回答