【问题标题】:Component.InvokeAsync in foreach loop doesn't workforeach 循环中的 Component.InvokeAsync 不起作用
【发布时间】:2021-07-26 20:21:01
【问题描述】:

我在 Foreach 循环中显示组件有问题:

我。第一种情况 - 组件工作:

我像这样创建简单的组件(名为 HelloComponent):

<h3>Hello Adam!</h3>

当我运行它时:

///My code before component

await Component.InvokeAsync("HelloComponent");

///My code after component

Everythink 工作,我得到了:

///My code before component

Hello Adam!

///My code after component

二。第二种情况 - 组件不起作用:

在我运行组件的视图中,我的代码如下所示:

@{
    List<string> options = new List<string>();
    options.Add("Adam");
    options.Add("Adrian");
    options.Add("Bart");   
}

///My code before component

@foreach(var item in options)
{
    <h3>Test header</h3>
    await Component.InvokeAsync("HouseOptionsComponent");
}

///My code after component

我明白了:

///My code before component

Test header
Test header
Test header

///My code after component

foreach 循环运行了 3 次,但没有获取到组件内容。我相信我应该收到:

///My code before component

Test header
Hello Adam!
Test header
Hello Adam!
Test header
Hello Adam!

///My code after component

【问题讨论】:

  • 什么是“HouseOptionsComponent”?
  • 嗨@AdamWróbel,我可以知道回复是否解决了问题或者这个帖子有什么更新吗?如果您对我的回复有任何疑问,请随时告诉我。

标签: c# asp.net asp.net-core razor


【解决方案1】:
`Component.InvokeAsync("HelloComponent");`

`Component.InvokeAsync("HouseOptionsComponent");`

请检查视图组件的名称,您正在调用不同的视图。尝试将视图名称从HouseOptionsComponent 更改为HelloComponent

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-28
    • 1970-01-01
    • 2020-05-27
    • 2014-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多