簡體   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