Первое изменение на UpdateResource
метод. Теперь он возвращает ActionResult:
public ActionResult UpdateResource()
{
Thread.Sleep(5000);
return Content(string.Format("Current time is {0}", DateTime.Now.ToShortTimeString()));
}
Нам нужно скрыть изображение при загрузке документа, поэтому мы меняем тег изображения на:
<img id="loading" src="../../Content/progress.gif" alt="Updating ..." style="display: none;" />
Мы добавили style="display:none"
.
Тогда мы используем jQuery:
<script type="text/javascript">
$(document).ready(
function() {
$('#btnUpdate').click(
function() {
$('#loading').show();
$.get('<%= Url.Action("UpdateResource") %>', {},
function(data) {
$('#result').html(data);
$('#loading').hide();
});
}
);
}
);
</script>
Когда документ загружен, мы настраиваем действие нажатия для вашей кнопки. Он показывает прогресс, а затем использует ajax для получения ActionResult. Когда ActionResult возвращается, мы скрываем прогресс и устанавливаем содержимое #result div с возвращенными данными.