Blazor中bind-value:after如何传递参数?遇返回Action要求问题
解决bind-value:after传递参数并返回Action的问题
bind-value:after要求绑定的是无参无返回值的Action委托,直接传递带参数的方法调用会不符合语法要求,以下是两种可行的解决方式:
方式一:用Lambda表达式包裹参数
把目标方法调用封装在无参Lambda里,直接满足Action的要求,示例代码:
bind-value:after="@(() => onselectrowpremadeinfo(ProductCareInfo))"
这里的() => ...就是一个标准的无参Action,内部完成带参数的方法调用,既符合语法规范,也能正常传递ProductCareInfo参数。
方式二:封装返回Action的后台方法
如果需要复用逻辑,可以在代码后台定义一个返回Action的方法:
public Action GetPremadeInfoHandler() { return () => onselectrowpremadeinfo(ProductCareInfo); }
然后在前端绑定:
bind-value:after="@GetPremadeInfoHandler()"
核心注意事项
- 必须保证传递给
bind-value:after的是Action类型(无参无返回值),不能直接传入带参数的方法调用。 - 确认
ProductCareInfo在绑定时刻是有效实例,避免空引用异常。
内容的提问来源于stack exchange,提问作者rose-marie paradis
相关产品推荐
相关产品推荐

