2015-05-27 3 views
0

У меня есть представление с созданной jquery таблицей, полной данных. В этой таблице один из столбцов имеет ссылку (стандарт <a href="">) на другой вид (полностью отдельный контроллер). Нажатие этой ссылки может часто приводить к длительному времени загрузки, поскольку потенциально потенциально может быть загружен вид, который содержит массивное количество данных для извлечения, прежде чем извергать результаты на экране.Как показать 'загрузку' между MVC Views

Есть ли способ, нажав на одну из этих ссылок, получить «загрузочный счетчик» до тех пор, пока новый экран не загрузится?

Опять же, это стандартная гиперссылка (href) в представлении, которая ссылается на полностью отдельный вид, отдельный контроллер.

+1

Если вы не используете Аякса загрузить другой вид, то вы не можете. Если вы используете ajax для загрузки, вам просто нужно поместить spinner в 'div', прежде чем загружать html в него. –

+0

Представления - это полностью отдельные страницы - два .aspx-представления. Второй, на который я нажимаю ссылку, назовем ее «Page1.aspx», я больше не буду _on_ Page1.aspx ... даже если он сидит там в браузере. Я нахожусь на странице .aspx, ожидая данных. К сожалению, браузер не знает этого. – PKD

+0

Для некоторых из моих сайтов, на которых я просто заинтересован показывать пользователю сообщение «Подождите» до загрузки следующей страницы, я использую плагин jQuery Block UI. В случае нажатия этой ссылки я просто вызываю функцию blockUI, чтобы показать настроенное сообщение ожидания. Если вам интересно, я могу что-то сказать в ответ, чтобы показать больше деталей. Просто идея, если это все, что вы хотите сделать. –

ответ

1

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

<input type="submit" value="Search" name="searchparty"> 

<script> 
//submit search, display loading message 
    $('input[type = submit]').click(function(){ 
     $.blockUI({ css: { 
      border: 'none', 
      padding: '15px', 
      backgroundColor: '#000', 
      opacity: .6 
     } }); 
    }); 
</script> 

blockUI

+0

Использование blockUI - это LifeSaver! Большое спасибо за это. Я уже включил его в пару страниц этим утром, и я в восторге от этого. :) – PKD

+0

Удивительный, рад слышать! :) –

Смежные вопросы