这是在将一个 asp.net 项目迁移到 asp.net core 遇到的问题,在 asp.net core 的 razor 视图中原先用的是 Html.RenderAction
@{ Html.RenderAction(Model.ItemListActionName, new { model = Model }); }
但 asp.net core 不支持 Html.RenderAction ,于是改用 view component
@{ await Component.InvokeAsync(Model.ItemListActionName, new { model = Model }); }
运行时 view component 正常渲染了 view component 对应的视图,但上面的代码在视图中的输出结果却为空,请问如何解决?
在 asp.net Core View Component executed but markup not rendered 的回答中找到了解决方法,去掉大括号即可
@await Component.InvokeAsync(Model.ItemListActionName, new { model = Model })