У меня есть функция, которая получает много данных из Интернета. Для получения всех данных требуется около 15 секунд. Как я могу отобразить текст (например, «загрузка данных»), пока он по-прежнему загружается. Прямо сейчас, это выглядит следующим образом:Отображение «Загрузка» при загрузке данных с контроллера
Я войти на страницу
Мой «Индекс» загружает свою функцию «LoadData».
Функция сохраняет данные в ViewBags
Функция возвращает Посмотреть
В Вид:
<table class='table' id='vmTable' border='1'>
<tr>
<th>VM Name</th>
<th>Status</th>
<th>Shutdown Time</th>
<th>Service Name</th>
<th>Created Date</th>
<th>Last Modified</th>
<th>Port</th>
</tr>
@for (int i = 0; i < ViewBag.AmountOfVms; i++)
{
<tr class="tableColumn vmColumn">
<td class="vmName">@ViewBag.VMs[i, 0]</td>
<td class="vmStatus">@ViewBag.VMs[i, 1]</td>
<td class="vmShutDown">@ViewBag.VMs[i, 6]</td>
<td class="vmServiceName">@ViewBag.VMs[i, 2]</td>
<td class="vmCreatedDate">@ViewBag.VMs[i, 3]</td>
<td class="vmLastModified">@ViewBag.VMs[i, 4]</td>
<td class="vmPort">@ViewBag.VMs[i, 7]</td>
</tr>
}
</table>
Ive слышал о Ajax и с использованием частичных представлений. Таким образом, я могу показать свою таблицу в качестве частичного просмотра и просто сказать
@if (ViewBag.VMs[i, 0] == null)
{
<td>Loading...</td>
}
, а затем обновите Частичный вид каждый второй? И как я могу запустить свою функцию «LoadData», находясь на странице. Или другими словами: Как я могу просто показать «загрузку», пока ViewBag имеет значение NULL.
У вас есть хорошие примеры для этого? ¨