Come aggiornare il valore di una textarea (ASP.NET Core MVC)

0

Domanda

Per farla semplice:

Questa è la mia Classe:

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

}

Il Mio 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();
        }

        
}

Ho un ServiceClassModel:

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

}

E ho un IndexView con una 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

Ora, alla mia domanda: ho programmato un'applicazione di riconoscimento vocale. C'è una proprietà chiamata chiedere dove il mio discorso richieste vengono memorizzate in Classe. Io voglio che ogni volta che il metodo ExecuteCommand(); è chiamato ad aggiornare la textarea nella vista indice. Qual è il modo migliore per farlo?

Utilizzando ASP.NET Core MVC

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

Migliore risposta

0

Si otterrà una risposta ogni volta che viene effettuata una richiesta. Ma se il ExecuteCommand() viene attivato da un altro servizio, la Richiesta corrente di valore non essere spinto sino a quando una nuova richiesta.

Se la richiesta è quella che ha attivato ExecuteCommand, in questo esempio si potrebbe lavorare: https://dotnetfiddle.net/5mVvb9

Se non, vi consiglio di utilizzare Regolari di Polling. Con questo approccio, si potrebbe fare periocal richiesta al BACKEND e controllo per la nuova Richiesta di valore.

2021-11-23 21:54:52

Ok, grazie per la tua veloce risposta alla mia domanda. Solo per assicurarsi che tu hai me, a destra: il ExecuteCommand(); viene chiamato quando la parola chiave del riconoscimento è parlato (del tipo "Hey Google") e quindi la risposta alla mia richiesta è generato. Voglio la risposta e il mio intervento con richiesta di essere indicato nella casella senza cliccare su un pulsante. È Normale Polling l'unico modo? Se sì, potresti farmi un esempio più specifico per il mio codice. Grazie mille!
DarthYoda

L'unico modo per evitare di Polling Regolare sta facendo una Richiesta POST con audio parlato di backend. Penso che ci sarebbe un servizio elaborazione audio e la restituzione di una stringa di risposta che si vuole visualizzare nella textarea. Se l'intero processo viene completato in una sola richiesta prima di 10 secondi, quindi non c'è bisogno di fare un polling. In caso contrario, se il processo richiede più tempo, o se avete bisogno di un altro processo in background per il lavoro audio, allora si avrà bisogno di una strategia di distribuzione. Nel primo caso, si avrà solo bisogno di inviare l'audio al backend e catturare de la stringa di risposta per riempire textarea.
punteriaCero

In altre lingue

Questa pagina è in altre lingue

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