[英]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 而我根本沒有時間讓這個項目以正確的方式完成它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.