繁体   English   中英

在没有@oninput的情况下获取Blazor中输入字段的值

[英]Get value of an input field in Blazor without @oninput

我有一个由 Blazor <InputText>组件生成的 HTML <input>元素。

我正在使用 JavaScript 库来检测用户何时扫描条形码。 当此事件发生时,我将扫描条形码的值设置到<input>元素中。

我想立即在 C# 中了解这种价值变化。 通常我会使用@bind-event:oninput来确保在它发生变化时立即获得当前值,但是当通过代码设置 HTML 输入的值时,不会触发此事件。

Is there a way to assign a value to an HTML input via JavaScript and then have C# immediately aware of the change and update the property of the C# object the InputText control is bound to?

我已经通过以下方式解决了这个问题:

如果您在 C# 中具有所需的 JS 值,请将其应用于字段并在按钮上调用.click()。 此按钮调用 C# 方法,该方法调用 JS function 将输入值作为字符串返回给您的 C# 方法,您现在可以随意使用该方法。

虽然这是一个肮脏的解决方案,但它确实有效。

我试图让 invokeMethodAsync 直接调用我的 C# 方法,但这需要它是 static 而我根本没有时间让这个项目以正确的方式完成它。

运用

[英]Using <input oninput= … with current value in textbox

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM