Как обновить razorPage Async новыми данными - PullRequest
0 голосов
/ 13 марта 2019

Проблема: я хочу отслеживать входящие данные из подписки без обновления страницы.

Использование RazorPages.

На данный момент у меня есть очень простое приложение:

(код сзади)

public class PageModel
{ 
     public List<string> dataList = new List<string>();

     public void OnGet()
     {
        var mySubscriber = Subscriber.subscribe(actionMethod);
     }

    private async Task actionMethod(string data)
    {
          dataList.Add(data);
    }
}

(страница)

@foreach(var s in Model.dataList){
  <div>@s</div>
}

Абонент вызывает actionMethod при получении новой строки.

Однако в настоящее время это статическое состояние, и после загрузки страницы мне нужно обновить страницу, чтобы получить больше данных.

Как это изменить, чтобы страница автоматически обновлялась новыми данными?

Ответы [ 2 ]

0 голосов
/ 13 марта 2019

Вам необходимо периодически совершать вызовы AJAX в пользовательском интерфейсе, чтобы обновить свое представление.Как отметил @Denis в своем ответе, SignalR может быть решением, но это больше для уведомлений.В вашем случае мне кажется, что вам придется время от времени выполнять этот вызов, чтобы обновить отображаемые данные.

Если есть только часть вашего дисплея, которую вы хотите обновить, выможно использовать частичное представление. Здесь - тема по этому вопросу.

0 голосов
/ 13 марта 2019

Вы не можете сделать это без обновления, потому что Razor tec не является двунаправленным.В asp.net (или ядре) вы можете использовать SignalR.

Ссылка на MSDN Руководство

...