我想要将 csHtml 传递给 ViewComponent,就像这样:
<vc:some-component title="Title"
body="@Html.Raw("<div>this is a nice div, my name is @Model.Name</div>")">
</vc:some-component>
如您所见,我希望传递包含变量或模型引用的HTML代码(这就是为什么我称其为csHtml而不仅仅是Html)。
下面是ViewComponent代码:
<div>
<p>@Model.Title</p>
@Model.Content
</div>
这真的可能吗?我一直在搜索,但没有找到如何做到这一点的示例。
编辑:成功了!感谢大家的帮助。
以下是一些示例代码,演示如何实现此功能:
调用 ViewComponent:
@{
Func<dynamic, object> children =
@<div>
<p style="color: white">aaaa</p>
<p style="color: white">bbbb</p>
<p style="color: white">bbbb</p>
</div>;
}
<vc:some-component body=@children>
</vc:some-component>
视图组件内容:
@model SomeComponentModel
<div>
@Model.Body("")
</div>