2012-01-01 2 views
3

Использование Asp.Net MVC 3 (Razor). Я пытаюсь добавить blockUI подключить, чтобы показать индикатор загрузки при вызове действия с @ Ajax.ActionLinkJQuery ajaxStart и blockUI

Это отлично работает, если я использую вызов по умолчанию

$(document).ajaxStart($.blockUI); 

Но когда я пытаюсь настроить сообщение с использованием следующего, пользовательский интерфейс блокируется, как только загружается страница. Может ли кто-нибудь посоветовать правильный формат?

$(document).ajaxStart($.blockUI({ 
    message: '<h1><img src="busy.gif" /> Just a moment...</h1>' 
})); 
+0

Вы призываете любые методы Ajax автоматически при загрузке страницы? –

+0

Нет, ничего не вызывается, когда страница загружается – user918064

ответ

5

Во втором фрагменте кода вы фактически выполняете метод blockUI.

Заверните его в анонимной функции:

$(document).ajaxStart(function() { 
    $.blockUI({ 
     message: '<h1><img src="busy.gif" /> Just a moment...</h1>' 
    }); 
}); 

Работа примера на jsfiddle

+0

Спасибо, я попробовал это, и это дало ошибку «Ошибка: объект не поддерживает свойство или метод blockUI» – user918064

+0

Я быстро проверил jsfiddle (см. ответ для ссылки - это фиктивный запрос ajax, но он показывает специальное сообщение blockUI). Для вашей ошибки, возможно, вы неправильно включили файл blockUI, хотя это странно, что он работает с настройками по умолчанию ... –

+1

Ребята, это помогло (как и аналогичные ответы). Проблема с ошибкой сводилась к тому, что JQuery регистрировался дважды на странице, второй - с Telerik ScriptManager, который не был очевидным. – user918064

1

Оберните blockui вещей в функции:

$(document).ajaxStart(function(){ 
    $.blockUI({ 
     message: '<h1><img src="busy.gif" /> Just a moment...</h1>' 
    }); 
}); 
+0

Спасибо, я попробовал это, и он дал и ошибку «Ошибка: объект не поддерживает свойство или метод blockUI» – user918064

+0

Пожалуйста, поставьте тестовый пример на http://jsfiddle.net/ – Mbrevda

0

включает в Jquery расслоения плотного файл и блокUI js-файл и затем выполнить код

$(document).ajaxStart(function(){ 
    $.blockUI({ 
     message: '<h1><img src="busy.gif" /> Just a moment...</h1>' 
    }); 
}); 
+0

Привет, JQuery и Jblock включены , Я проверил это, получив метод по умолчанию $ (document) .ajaxStart ($. BlockUI); чтобы нормально работать Когда я пытаюсь использовать предлагаемый код, вместо этого получаю сообщение об ошибке «Ошибка: объект не поддерживает свойство или метод« blockUI », когда я dubug – user918064

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