Jak zaktualizować wartość pola tekstowego (ASP.NET Głównym MVC)

0

Pytanie

Aby wszystko było proste:

To mój klasy obsługi:

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

}

Mój domowy kontroler:

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

        
}

Mam model ServiceClassModel:

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

}

I mam widok indeksu na obszarze tekstowym:

<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

Teraz do mojego pytania: ustawiłem aplikacja do rozpoznawania mowy. Istnieje właściwość o nazwie Wniosek, w którym mój mowy wniosek jest przechowywany w klasie obsługi. Chcę za każdym razem, gdy metoda ExecuteCommand(); wywoływana jest w celu aktualizacji obszaru tekstu w widoku indeksu. Jaki jest najlepszy sposób, aby to zrobić?

Korzystanie z ASP.NET Głównym MVC

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

Najlepsza odpowiedź

0

Otrzymasz odpowiedź za każdym razem, gdy zostanie złożony wniosek. Ale jeśli zespół ExecuteCommand() uruchamiany z innego działu, bieżąca wartość żądania nie pojawi się na pierwszy plan, dopóki nie zostanie wykonany nowy wniosek.

Jeśli żądanie powoduje polecenie ExecuteCommand, ten przykład może się udać: https://dotnetfiddle.net/5mVvb9

Jeśli nie, proponuję użyć zwykły sondaż. Przy takim podejściu można zrobić периокальный zapytanie do serwera część i sprawdzić dostępność nowej wartości żądania.

2021-11-23 21:54:52

Dobrze, dziękuję za szybką odpowiedź na moje pytanie. Tylko po to, aby upewnić się, że pan mnie źle zrozumiał: ExecuteCommand(); wywoływana, gdy wymawia słowo kluczowe rozpoznawania (na przykład, "Cześć, Google"), a następnie generowana jest odpowiedź na moje zapytanie. Chcę, aby odpowiedź i mój mowy zapytanie wyświetlane w polu, bez konieczności naciskania przycisku. Czy jest regularne badanie jedynym sposobem? Jeśli tak, czy mógłbyś podać mi konkretny przykład dla mojego kodu. Dziękuję bardzo!
DarthYoda

Jedynym sposobem, aby zapobiec regularne badania-to wyślij zapytanie na publikację z oralnym dźwiękiem na wewnętrzną część. Myślę, że będzie usługa, wytwórczy ten dźwięk i która zwraca ciąg odpowiedź, który chcesz wyświetlić w polu tekstowym. Jeśli cały proces kończy się jednym zapytaniem do 10 sekund, to nie ma potrzeby przeprowadzać ankietę. W przeciwnym razie, jeśli proces trwa dłużej lub potrzebujesz inny proces do pracy z dźwiękiem, trzeba strategia ankiety. W pierwszym przypadku po prostu trzeba będzie wysłać audio na wewnętrzną część i zapisać odpowiedź de string do wypełnienia pola tekstowego.
punteriaCero

W innych językach

Ta strona jest w innych językach

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