Estoy usando el ensamblado web de Blazor y el componente de terceros no es compatible con @onitnput, @bind-value:event="oninput". Para tratar de evitar esto, estoy intentando usar JS para activar la función ac#. (Tengo otras cosas que activan el "onchange" en la entrada, así que cuando mire mi ejemplo, solo piense en ello como en la entrada, y eso está funcionando).
Problema principal: necesito pasar una referencia a la página en el método al que llama onchange para poder llamar al método c# desde JS, pero no puedo hacer que pase el parámetro. Aquí está mi marcado
<RadzenHtmlEditor @bind-Value=@SurveyScriptNode.Script onchange="callCSharpMethodNoParams(@DotNetObjectReference.Create(this))" style="height: 500px; margin-bottom: 1rem; opacity: 1;" UploadUrl="upload/image" Paste=@OnPaste Execute=@OnExecute id="scriptBuilder_surveyScriptNode_ScriptEditor">También probé lo que se sugirió Aquí , pero tampoco pude hacerlo funcionar.
<RadzenHtmlEditor @bind-Value=@SurveyScriptNode.Script onchange="callCSharpMethodNoParams(<%=DotNetObjectReference.Create(this)%>)" style="height: 500px; margin-bottom: 1rem; opacity: 1;" UploadUrl="upload/image" Paste=@OnPaste Execute=@OnExecute id="scriptBuilder_surveyScriptNode_ScriptEditor">¿Hay alguna manera de hacer esto en Blazor?
Gracias por tu tiempo.
Como solución estoy haciendo esto:
Ocultar una casilla de verificación
Establezca un método js oninput en el control deseado, esto llamará a una función js que establece la casilla de verificación oculta en verdadero
Dado que la casilla de verificación oculta no puede @bind cuando JS actualiza el valor y no actualizará el valor al llamar a StateHasChanged (), debe implementar un temporizador que use la interoperabilidad de JS para llamar a una función js para devolver el valor de la verificación oculta cuadro a su código C#.
Establezca el valor de la variable c# en el valor devuelto del paso anterior
Cree otro método en c# que use JS Interop para llamar a la función js que usa en su entrada, llame a este método en el setter de la variable c# pero asegúrese de hacerlo solo si la página ya está inicializada.