In Blazor Server applications, real-time data binding (updating on every keystroke) can sometimes lead to "input jumbling" or lost characters. This is caused by the server-side latency inherent in the Blazor Server model, where UI refreshes may interrupt a user while they are still typing.
Solution: Using FinishedTextChange
To ensure a smooth user experience and prevent text loss, C1TextBox is designed to synchronize with the server efficiently. By utilizing the FinishedTextChange event (or the onchange trigger), the control ensures that data binding occurs only after the user has finished their input or moved focus away from the field.
This behavior aligns with the standard ASP.NET Core InputText component, providing a stable two-way binding that avoids mid-typing UI refreshes.
Implementation Example
For high-performance filtering use the following approach to ensure the filter string updates only after the input is finalized:
<C1TextBox FinishedTextChange="@(v => myFilter = v)" />