ServiceStack Razor:如何在@section中呈现Html.Partial视图?
我当前无法获取ServiceStack Razor:如何在@section中呈现Html.Partial视图?,razor,servicestack,Razor,servicestack,我当前无法获取@Html.Partial()以呈现@节中的视图 ServiceStack是否支持此功能?在我下面的示例代码中,第一个部分(在@部分之外)不会被渲染。在@部分中仅呈现周围的HTML 我的文件夹结构如下所示: /观点/ MyLayout.cshtml MyView.cshtml /共享/ _MyPartialView.cshtml MyLayout.cshtml如下所示: @inherits ServiceStack.Razor.ViewPage<MyViewMod
@Html.Partial()
以呈现@节中的视图
ServiceStack是否支持此功能?在我下面的示例代码中,第一个部分(在@部分
之外)不会被渲染。在@部分中
仅呈现周围的HTML
我的文件夹结构如下所示:
- /观点/
- MyLayout.cshtml
- MyView.cshtml
- /共享/
- _MyPartialView.cshtml
MyLayout.cshtml如下所示:
@inherits ServiceStack.Razor.ViewPage<MyViewModelBase>
...
@RenderBody()
<div id="sidebar">
@RenderSection("sidebar")
</div>
@继承ServiceStack.Razor.ViewPage
...
@RenderBody()
@渲染部分(“侧栏”)
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>
}
@继承ServiceStack.Razor.ViewPage
@{
Layout=“MyLayout”;
}
@Html.Partial(“\u MyPartialView”)
@节侧栏{
侧栏
@Html.Partial(“\u MyPartialView”)
其他一些内容
}
部分视图只包含纯HTML。也许您可以这样做
@{ var myPartialView = Html.Partial("_MyPartialView"); }
@section sidebar {
<h2>Side Bar</h2>
@myPartialView
<p>Some other content</p>
}
@{var myPartialView=Html.Partial(“_myPartialView”);}
@节侧栏{
侧栏
@myPartialView
其他一些内容
}
由于Html.Partial只返回一个MvcHtmlString,因此您可以将其放入变量。我几天前在Github上报告了该漏洞,并且@mythz提交了一个解决方案
见我的SO帖子:
好消息是,该修复程序可通过Myget()获得4.0.16(预发行版)
以下是Github上的问题:
它对我也不起作用-可能是Razor的局限性?@jeffgabhart我在ASP.net MVC4应用程序上测试了它,效果很好,所以我认为它是ServiceStack中的一个bug。在ServiceStack源代码中,我可以看到两个部分都执行了相同的代码,但是部分中的代码没有出现,就好像部分内容出于某种原因写入了不同的输出流。我会提出一个错误报告,但据我所知,他们似乎不允许在他们的github项目中使用它。我尝试过,但没有效果-通过ServiceStack代码Html单步执行。Partial确实尝试从视图引擎的RenderPartial()结果创建一个MvcHtmlString,但它始终为空。