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

如何在Razor Page中为Razor组件设置EventCallback参数

问题核心原因

你当前的写法有两处错误导致EventCallback无法触发:

  • 使用<component>标签向Razor组件传递参数时,所有参数必须加param-前缀,你写的OnClick="test"没有加前缀,组件无法识别到这个参数的赋值
  • 回调方法不能定义在@{ }局部代码块中,需要放在@functions块里且标记为public,否则组件没有权限访问该方法

修正后的Razor Page代码

<!-- 给OnClick参数加上param-前缀 -->
<component type="typeof(RazorTest.Components.Test)" param-InitialValue="0" param-OnClick="test" render-mode="Server" />

<!-- 回调方法放在public的functions块中 -->
@functions {
    public void test(int count = 0)
    {
        // 这里加断点即可看到点击组件按钮后触发回调,count就是组件传回来的当前计数
        var t = "hello";
    }
}

补充说明

如果你要使用组件里定义的Action类型的OnClickNew参数,传递规则完全一致,只需要在标签里写param-OnClickNew="你的回调方法名"即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 15:54:11