Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Blazor WASM按钮一次点击,但不是每次都开火_C#_Blazor_Blazor Webassembly - Fatal编程技术网

C# Blazor WASM按钮一次点击,但不是每次都开火

C# Blazor WASM按钮一次点击,但不是每次都开火,c#,blazor,blazor-webassembly,C#,Blazor,Blazor Webassembly,我有一个包含项目摘要的表格,当我点击一个按钮时,我会弹出一个模式窗口,其中包含关于该项目的附加信息。不幸的是,由于某些原因,Blazor不会总是弹出模态。我已经将代码简化为一个Console.WriteLine(“personid:Id”),我仍然看到了这个问题 @foreach(var p in people){ <tr> <td><button type="button" class="btn btn-outline-i

我有一个包含项目摘要的表格,当我点击一个按钮时,我会弹出一个模式窗口,其中包含关于该项目的附加信息。不幸的是,由于某些原因,Blazor不会总是弹出模态。我已经将代码简化为一个Console.WriteLine(“personid:Id”),我仍然看到了这个问题

@foreach(var p in people){
  <tr>
    <td><button type="button" class="btn btn-outline-info" @onclick="(async()=>await ShowPerson(p))">@p.FirstName</button>
    </td>
    <td>@p.LastName</td>
  </tr>
}
@foreach(人的变量p){
@p、 名字
@p、 姓氏
}
然后在代码部分

List<Person> people { get; set; }
...
async Task ShowPerson(Person p){
  Console.WriteLine("Click");
  selectedPerson = p;
  await _jsRuntime.InvokeVoidAsync("toggleModal", "personModal");
}
列出人{get;set;}
...
异步任务显示人员(人员p){
Console.WriteLine(“单击”);
selectedPerson=p;
wait_jsRuntime.InvokeVoidAsync(“toggleModal”、“personModal”);
}
然后在我的js文件中,toggleModal只执行一个
$(“#“+id).modal('toggle')

现在,当我观看控制台时,我可以单击一个按钮,控制台中可能没有显示任何内容,并且模式没有打开。或者单击显示在控制台中并弹出模式。有没有人遇到过这个问题,或者从上面的代码中看到任何明显的东西


感谢所有遇到这一点的人,感谢他们像我一样盲目。验证您的
@onclick
是否在实际按钮上,而不是范围内

坏的:


好:



老实说,我有点惊讶它竟然没有开火。你几乎可以在任何东西上点击@onclick。

当我点击图标时,它确实会触发,但因为我有时点击按钮而不是图标,所以它不会触发,所以问题似乎是间歇性的,所以它有点像点击范围中的“环绕”元素。这是有道理的。我很确定如果是一个div,它在任何地方都能用。我经常这样做——我会在div上加一条下划线和一个蓝色,文本看起来是可点击的——然后我会使用@onclick展开树的下一层或其他东西。
<button class="btn btn-success">
  <span class="fa fa-bug" @onclick="(async()=>await foo(x))"></span>
</button>
<button class="btn btn-success" @onclick="(async()=>await foo(x))">
  <span class="fa fa-thumbs-up"></span>
</button>