我在Razor页面中有以下工作代码来渲染ViewComponent:
...
<table class="table table-bordered">
<tbody>
<tr>
<td>Start temperature tap water</td>
<td class="text-end">@properties.StartTemperatureTapWater</td>
</tr>
<tr>
<td>Stop temperature tap water</td>
<td class="text-end">@properties.StopTemperatureTapWater</td>
</tr>
<tr>
<td>Tap water operating hours</td>
<td class="text-end"> @properties.TapWaterOperatingHours</td>
</tr>
</tbody>
</table>
@{
var subCapability = Capabilities.FindCapability(capabilities, "TapWater.Temperatures");
@await Component.InvokeAsync((string)subCapability.ClassName, new { deviceType = deviceType, capability = subCapability, level = 1 })
}
如果在我看来,我可以用对代码隐藏函数的单个函数调用来替换这两行代码,那就太好了,但我不知道如何替换组件。使用我自己的函数调用异步。
我使用它来渲染嵌套的ViewComponents,如下所示:
红色矩形显示每个ViewComponent。