Blazor应用按钮无法调用绑定方法,请求技术支持
Blazor按钮点击无响应问题排查与修复
核心问题:无效HTML嵌套结构
在Cards的foreach循环代码中,存在<li>标签嵌套的错误写法:
<li> <li>@card</li> <button type="button" @onclick="() => RemoveCard(card)">Remove Card</button> </li>
<li>不能作为另一个<li>的直接子元素,这种无效DOM结构会导致浏览器自动修正DOM树,进而破坏Blazor的组件渲染与事件绑定逻辑,直接引发RemoveCard按钮无响应,甚至会干扰页面内其他按钮的事件触发。
修复方案:移除内部嵌套的<li>,改为直接展示内容或使用<span>等合法标签:
<li> @card <button type="button" @onclick="() => RemoveCard(card)">Remove Card</button> </li>
其他潜在优化点
- 页面中
<a>标签绑定@onclick时,建议添加@onclick:preventDefault阻止默认跳转行为,避免事件被浏览器默认行为干扰:<a class="btn btn-danger" @onclick="DeleteDeck" @onclick:preventDefault>Delete Deck</a> - 确认分部类中
Saved、Deck、Cards等变量已正确初始化,避免因空引用导致组件渲染异常,间接影响事件绑定。
内容的提问来源于stack exchange,提问作者TacoTown
相关产品推荐
相关产品推荐

