Blazor @onclick 事件处理教程

幻夢星雲
发布: 2025-12-19 08:50:47
原创
414人浏览过
@onclick支持四种事件绑定方式:无参数直接调用、接收MouseEventArgs获取鼠标信息、用Lambda传自定义值、加:preventDefault阻止默认行为。

blazor @onclick 事件处理教程

Blazor 的 @onclick 是最常用、最直观的事件绑定方式,它让你用 C# 直接响应用户点击,无需写一行 JavaScript。

基础写法:无参数直接调用

只要方法不带参数,直接把方法名写在 @onclick 后面就行:

<button>点我</button>

@code {
  private void HandleClick()
  {
    Console.WriteLine("按钮被点了");
  }
}

Blazor 运行时会自动识别这个方法,并在点击时执行。不需要手动传参,也不需要加括号。

获取鼠标信息:使用 MouseEventArgs

如果想拿到点击位置、按键状态(比如是否按了 Ctrl / Shift / 右键),就给方法加一个 MouseEventArgs 参数:

  • Blazor 会自动注入这个参数,你不用在 HTML 里写任何东西
  • 常见属性有:ScreenX/ScreenY(屏幕坐标)、ClientX/ClientY(视口坐标)、Button(0=左键,2=右键)、CtrlKeyShiftKey

示例:

@code {
  private void HandleClick(MouseEventArgs e)
  {
    if (e.CtrlKey)
      Console.WriteLine($"Ctrl+点击,位置:{e.ClientX},{e.ClientY}");
  }
}

传自定义值:用 Lambda 表达式

当你要传入固定字符串、数字或组件状态变量时,就得用 @onclick="@(e => Method(param))" 写法:

  • 注意括号和 @ 符号不能少,否则编译报错
  • 即使你不使用 e,也要保留参数占位(如 e => DoSomething("hello")

例如:

杰易OA办公自动化系统6.0
杰易OA办公自动化系统6.0

基于Intranet/Internet 的Web下的办公自动化系统,采用了当今最先进的PHP技术,是综合大量用户的需求,经过充分的用户论证的基础上开发出来的,独特的即时信息、短信、电子邮件系统、完善的工作流、数据库安全备份等功能使得信息在企业内部传递效率极大提高,信息传递过程中耗费降到最低。办公人员得以从繁杂的日常办公事务处理中解放出来,参与更多的富于思考性和创造性的工作。系统力求突出体系结构简明

杰易OA办公自动化系统6.0 0
查看详情 杰易OA办公自动化系统6.0

<button> UpdateStatus("saved"))">保存</button>

@code {
  private void UpdateStatus(string state)
  {
    Console.WriteLine($"状态已设为:{state}");
  }
}

阻止默认行为:@onclick:preventDefault

有些元素点击后有默认动作(比如表单提交、链接跳转),可以用 @onclick:preventDefault 阻止:

  • 写法是紧挨着事件指令,加冒号和 preventDefault,后面不加等号就是“始终阻止”
  • 也可以绑定布尔变量或表达式,实现条件阻止

示例(阻止链接跳转):

<a href="https://example.com">不会跳转的链接</a>

或者动态控制:

<input>

@code {
  private void OnKey(KeyboardEventArgs e)
  {
    // 只有 Enter 被拦截,其他键照常触发
  }
}

基本上就这些。掌握这四种模式,就能覆盖绝大多数 @onclick 使用场景。

以上就是Blazor @onclick 事件处理教程的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号