You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Blazor Server中MudBlazor按钮无法触发AddVerse函数问题求助

问题分析与解决方案

核心原因:事件绑定语法错误

你的按钮使用了@OnClick(大写O)绑定点击事件,但Blazor中DOM事件绑定的正确语法是小写开头的@onclick,大写的@OnClick无法触发Blazor的事件处理逻辑,这是AddVerse函数不执行的直接原因。

修复步骤

将绑定AddVerse的按钮代码修改为:

<MudButton @onclick="AddVerse" Variant="Variant.Filled" Color="Color.Primary" Class="mt-2">Sélectionner le(s) verset(s)</MudButton>

如果需要通过lambda表达式传递参数(当前场景不需要),也需使用小写的@onclick:

<MudButton @onclick="@(() => AddVerse())" Variant="Variant.Filled" Color="Color.Primary" Class="mt-2">Sélectionner le(s) verset(s)</MudButton>

额外排查点

  1. 表单验证影响:虽然该按钮不是提交类型,但如果EditForm内的控件存在未通过的验证规则(比如Book字段未选择),可检查CommentDto的DataAnnotations配置,确认是否有强制验证规则意外阻塞交互。
  2. 异步方法适配:如果JerusalemBibleService.GetVerse是异步方法,需将AddVerse改为异步方法并使用await,否则可能导致UI无响应:
private async Task AddVerse()
{
    InProgress = true;
    try
    {
        model.Verses += await JerusalemBibleService.GetVerseAsync(Book, Chapter, FirstVerse, LastVerse);
    }
    catch (Exception ex)
    {
        ErrorMessage = ex.Message;
    }
    InProgress = false;
}
  1. 浏览器控制台检查:打开浏览器开发者工具的控制台,查看是否有Blazor连接错误或JS异常,这类问题也可能导致事件无法正常触发。

内容的提问来源于stack exchange,提问作者mathdxdx

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 03:59:55