如何在.Net Core MVC中将csHtml传递给ViewComponent?

Rya*_*yan 5 asp.net .net-core asp.net-core asp.net-core-2.0 asp.net-core-viewcomponent

我想将 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>
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我想传递包含对变量或模型的引用的 HTML(这就是我将其称为 csHtml 而不仅仅是 Html 的原因)。

这是 ViewComponent 代码:

<div>
    <p>@Model.Title</p>
    @Model.Content
</div>
Run Code Online (Sandbox Code Playgroud)

这可能吗?我一直在搜索,但没有找到任何如何执行此操作的示例。


编辑:开始工作了!感谢大家的帮助。

以下是有关如何执行此操作的一些示例代码:

调用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>
Run Code Online (Sandbox Code Playgroud)

查看组件内容:

@model SomeComponentModel

<div>
    @Model.Body("")
</div>
Run Code Online (Sandbox Code Playgroud)

Alb*_*ndi 1

是的,这是可能的,您必须制定解决方法,但这是可以实现的,这个答案有一个您正在寻找的示例。