我目前无法让@Html.Partial()
在@section
内呈现视图。
ServiceStack是否支持此功能?在下面的示例代码中,第一个部分(@section
之外) 会被渲染。在@section
内,只有周围的HTML才会被呈现。
我的文件夹结构如下所示:
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。
答案 0 :(得分:2)
也许你可以做这样的事情?
@{ var myPartialView = Html.Partial("_MyPartialView"); }
@section sidebar {
<h2>Side Bar</h2>
@myPartialView
<p>Some other content</p>
}
因为Html.Partial只返回一个MvcHtmlString,你可以把它放到一个变量中。
答案 1 :(得分:2)
几天前我在Github上报告了这个错误,@ mythz对这个问题做了修复。
请参阅我的帖子:Service Stack 4.0.15: Razor Partial not outputted inside @section
好消息是通过Myget(https://github.com/ServiceStack/ServiceStack/wiki/MyGet)提供4.0.16(预发布)的修复
以下是Github上的问题: