0

0

Blazor [SupplyParameterFromQuery] 使用方法

月夜之吻

月夜之吻

发布时间:2026-01-07 12:01:18

|

354人浏览过

|

来源于php中文网

原创

[SupplyParameterFromQuery]用于自动绑定URL查询参数到Blazor组件参数,支持类型转换、自定义键名、可空类型区分缺失值,仅在路由组件中生效,不抛异常且不支持复杂对象反序列化。

blazor [supplyparameterfromquery] 使用方法

Blazor 中 [SupplyParameterFromQuery] 用于自动将 URL 查询参数绑定到组件参数,无需手动解析 NavigationManagerQueryHelpers 它在 .NET 6+ 的 Blazor Server 和 WebAssembly(需启用路由参数支持)中可用,适用于 @page 组件或使用 Router 渲染的组件。

基础用法:声明参数并添加特性

@page 组件中,直接为 [Parameter] 属性加上 [SupplyParameterFromQuery] 即可:

  • 参数名默认匹配查询键名(大小写不敏感),例如 ?id=123 → 绑定到 public int Id { get; set; }
  • 支持类型转换:intboolDateTimeenum 等内置可转换类型会自动解析
  • 若查询参数缺失或格式错误,参数值取该类型的默认值(如 int0boolfalse

指定自定义查询键名

Name 参数显式指定 URL 中的查询键,避免命名冲突或适配已有 URL 规范:

  • [SupplyParameterFromQuery(Name = "user_id")] public int UserId { get; set; } → 匹配 ?user_id=456
  • Name 区分大小写,但实际 URL 查询参数本身不区分大小写,框架会做兼容匹配

处理可空类型与缺失值

若需区分“参数未提供”和“参数为默认值”,应使用可空类型 + [Parameter] bool IsSet { get; set; } 配合 [SupplyParameterFromQuery]

起航点卡销售系统
起航点卡销售系统

欢迎使用“起航点卡销售系统”销售程序:一、系统优势 1、售卡系统采取了会员与非会员相结合的销售方法,客户无需注册即可购卡,亦可注册会员购卡。 2、购卡速度快,整个购卡或过程只需二步即可取卡,让客户感受超快的取卡方式! 3、批量加卡功能。 4、取卡方式:网上支付,即时取卡 ,30秒可完成交易。 5、加密方式:MD5 32位不可倒推加密 6、防止跨站

下载
  • public int? Count { get; set; }?count=?count=abc 时为 null?count=7 时为 7
  • 字符串类型天然可空,?name= 会绑定为 string.Empty?name(无等号)则为 null
  • 不建议依赖 default(T) 判断是否传参,优先用可空类型或额外布尔标记

注意事项与常见问题

该特性仅在组件首次渲染或 URL 查询参数变化时触发绑定,且要求组件参与路由(即被 Router 渲染):

  • @page 组件(如普通 .razor 子组件)需确保由路由组件传入,否则不会生效
  • WebAssembly 项目需确认已启用查询参数支持(.NET 6+ 默认开启;旧版本需检查 Program.cs 中是否调用 builder.Services.AddComponentsWeb()
  • 绑定失败时无异常抛出,建议配合日志或前端验证辅助调试
  • 不支持复杂对象自动反序列化,如需解析 JSON 查询值,仍需手动处理

基本上就这些。用好 [SupplyParameterFromQuery] 能让页面级参数传递更简洁,但别忘了它只解决“读取”,状态同步和深层导航逻辑还得靠 NavigationManager 配合。

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

406

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

531

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

308

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

74

2025.09.10

string转int
string转int

在编程中,我们经常会遇到需要将字符串(str)转换为整数(int)的情况。这可能是因为我们需要对字符串进行数值计算,或者需要将用户输入的字符串转换为整数进行处理。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

314

2023.08.02

c语言中null和NULL的区别
c语言中null和NULL的区别

c语言中null和NULL的区别是:null是C语言中的一个宏定义,通常用来表示一个空指针,可以用于初始化指针变量,或者在条件语句中判断指针是否为空;NULL是C语言中的一个预定义常量,通常用来表示一个空值,用于表示一个空的指针、空的指针数组或者空的结构体指针。

231

2023.09.22

java中null的用法
java中null的用法

在Java中,null表示一个引用类型的变量不指向任何对象。可以将null赋值给任何引用类型的变量,包括类、接口、数组、字符串等。想了解更多null的相关内容,可以阅读本专题下面的文章。

435

2024.03.01

counta和count的区别
counta和count的区别

Count函数用于计算指定范围内数字的个数,而CountA函数用于计算指定范围内非空单元格的个数。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

195

2023.11.20

C++ 高性能计算与并行编程
C++ 高性能计算与并行编程

本专题专注于 C++ 在高性能计算(HPC)与并行编程中的应用,涵盖多线程、并发数据处理、OpenMP、MPI、GPU加速等技术。通过实际案例,帮助开发者掌握 如何利用 C++ 进行大规模数据计算和并行处理,提高程序的执行效率,适应高性能计算与数据密集型应用场景。

5

2026.01.08

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
WEB前端教程【HTML5+CSS3+JS】
WEB前端教程【HTML5+CSS3+JS】

共101课时 | 8.2万人学习

JS进阶与BootStrap学习
JS进阶与BootStrap学习

共39课时 | 3.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

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