Cómo actualizar el valor de un textarea (ASP.NET Núcleo MVC)

0

Pregunta

Para hacerlo simple:

Este es mi ServiceClass:

public class ServiceClass
{
        public string Request {get; set;}
        //other logic
        
        private void ExecuteCommand()
        {
            Request = "Some Text";
        }

}

Mi HomeController:

public class HomeController : Controller
{

        private readonly ILogger<HomeController> _logger;

        [BindProperty]
        public ServiceClassModel ServiceClass { get; set; }

        public HomeController(ILogger<HomeController> logger)
        {
            _logger = logger;
        }

        public IActionResult Index()
        {
            return View();
        }

        public IActionResult Privacy()
        {

            return View();
        }

        
}

Tengo un ServiceClassModel:

public class ServiceClassModel
{
    public string Request { get; set; }
    public string Response { get; set; }
    
    public ServiceClass Logic { get; set; }

}

Y tengo una IndexView con un TextArea:

<textarea id="story" name="story"
              rows="9" cols="80" style="margin-left: 10px; resize: none; margin-top: 10px">Here I want to update the text

Ahora mi pregunta: he programado una aplicación de reconocimiento del habla. Hay una propiedad llamada de Solicitud de donde mi voz solicitud se almacena en el ServiceClass. Quiero que cada vez que cuando el método ExecuteCommand(); se llama a la actualización de la caja de texto en la vista de índice. ¿Cuál es la mejor manera de hacerlo?

El uso de ASP.NET Núcleo MVC

asp.net-core c# html javascript
2021-11-23 21:08:21
1

Mejor respuesta

0

Usted recibirá una respuesta cada vez que se realiza una solicitud. Pero si el ExecuteCommand() se activa desde otro servicio, el actual valor de la Solicitud no será empujado al FRENTE hasta que una nueva solicitud.

Si la solicitud es la que desencadena ExecuteCommand, este ejemplo podría funcionar: https://dotnetfiddle.net/5mVvb9

Si no, te sugiero que para el uso Regular de Votación. Con este enfoque, usted podría hacer periocal petición al servidor y comprobar la nueva Solicitud de valor.

2021-11-23 21:54:52

De acuerdo, muchas gracias por su rápida respuesta a mi pregunta. Sólo para asegurarse de que usted me tiene derecho: el ExecuteCommand(); se llama cuando la palabra clave para el reconocimiento de habla (como "Hey Google") y, a continuación, la respuesta a mi petición es generado. Yo quiero la respuesta y mi discurso de solicitud que se mostrará en el cuadro sin hacer clic en un botón. Es de Sondeo Regular la única manera? Si sí me podría dar más ejemplo específico de mi código. Muchas gracias!
DarthYoda

La única manera de evitar la Votación Regular es hacer una Petición POST con audio hablado al backend. Creo que no hay un servicio el procesamiento de audio y devolver una respuesta de la cadena desea que se muestren en el textarea. Si el proceso se completa en una única solicitud, antes de 10 segundos, entonces no hay necesidad de hacer un sondeo. De lo contrario, si el proceso toma más tiempo, o si usted necesita otro proceso en segundo plano para trabajar el audio, entonces usted tendrá un sondeo de la estrategia. En el primer caso, solo se necesita para enviar audio al backend y captura de respuesta de la cadena para llenar textarea.
punteriaCero

En otros idiomas

Esta página está en otros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Slovenský
..................................................................................................................