ASP NET Core 6 Частичное обновление страницы

Недавно я начал изучать ASP NET, переходя с WPF MVVM, и возник вопрос - можно ли как то обновлять часть страницы не обновляя всю страницу? Я знаю про AJAX, но может есть еще какие либо методы обновления данных во View? Я делал с AJAX, писал API которое отдает данные в JSON и уже на их основе обновлял объекты, но по моему решение такое себе.

Например нужно в реалтайме обновлять таблицу с продуктами, их цены и т.д


Ответы (1 шт):

Автор решения: Nikita

В ASP.Net есть частичные представления. За рендеринг частичных представлений отвечает объект PartialViewResult, который возвращается методом PartialView(). https://metanit.com/sharp/aspnet5/7.5.php

Частичные представления не используют ViewImport и Layout. Далее на стороне js в функции onreadystatechange запроса XMLHttpRequest помещаете ответ от сервера в нужный тэг:

let request = new XMLHttpRequest();
request.onreadystatechange = function () {
    switch (this.readyState) {
        case 0:
            break;
        case 1:
            break;
        case 2:
            break;
        case 3:
            break;
        case 4:
            if (request.status == 200)
            {
                document.getElementById("Id").innerHTML = request.responseText;
            }
            break;
        default:
            break;
    }
};
requestString = текст_запроса;
request.open("POST", requestString);
request.send();    
→ Ссылка