byt*_*e77 5 .net c# asp.net-core
我正在尝试使用ViewComponents包装 ASP MVC Core 2.1 中的重复 HTML 块。
标签助手让它看起来很简单:
<vc:expansion-panel title="Headline">
content.....
</vc:expansion-panel>
Run Code Online (Sandbox Code Playgroud)
但是:标签的内部 HTML 不会呈现。RenderBody()显然这里的函数不合适。那么应该使用什么函数呢?
由于我在网上没有找到任何参考资料,可能我对 ViewComponents 的理解是错误的。然而,即使是这样,我仍然认为没有理由不将内部 HTML 渲染到ViewComponent.
问题:如何渲染<vc:expansion-panel>...中的内部 HTML ViewComponent?
@addTagHelper *, ProjectName
Run Code Online (Sandbox Code Playgroud)
ExpansionPanelViewComponent.cs
using Microsoft.AspNetCore.Mvc;
namespace ProjectName.Components
{
public class ExpansionPanelViewComponent : ViewComponent
{
public IViewComponentResult Invoke(string title)
{
ViewData["Title"] = title;
return View();
}
}
}
Run Code Online (Sandbox Code Playgroud)
默认.cshtml
<h2 class="panel">@ViewData["Title"]</h2>
<div class="panel">
@RenderBody() <----- ??
</div>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
946 次 |
| 最近记录: |