как заблокировать содержимое пользовательского интерфейса на новой странице ASP.NET C #

Я не могу понять, как заблокировать контент на новой странице с помощью jQuery BlockUI. У меня есть приложение в aSP.NET MVC. В одном представлении я нажимаю кнопку, и новый отчет создается и открывается в новой вкладке / окне, и я хочу заблокировать содержимое этой страницы, пока отчет не будет загружен. Но в моем случае контент заблокирован на первой странице с помощью кнопки, а не на этой новой. Кто-нибудь может мне помочь, как это сделать, пожалуйста?

<div>
    <button id="btnSubmit">Report</button>
</div>
<script type="text/javascript">
    $(function () {
        $('#btnSubmit').click(function () {
        $.blockUI({ css: {
            border: 'none',
            padding: '15px',
            backgroundColor: '#000',
            '-webkit-border-radius': '10px',
            '-moz-border-radius': '10px',
            opacity: .5,
            color: '#fff'
        }
    });
    setTimeout($.unblockUI, 5000);
    window.open(link, "Report");
    $(document).ajaxStart($.blockUI).ajaxStop($.unblockUI);
    return false;
</script>

person Korl    schedule 30.04.2013    source источник
comment
stackoverflow.com/questions/3841100 /   -  person mikey    schedule 30.04.2013
comment
window.open на самом деле возвращает переменную, вы можете использовать эту переменную, чтобы проверить, было ли новое окно заблокировано всплывающим окном, и если это не так, вы можете выполнить свои ajaxStart / Stop block / unblockUIs   -  person mikey    schedule 30.04.2013


Ответы (1)


Может потребоваться дополнительная отладка, но идея заключается в следующем:

var w = window.open(link, "Report");
$(w.document).ajaxStart($.blockUI).ajaxStop($.unblockUI);
person mikey    schedule 30.04.2013
comment
Майки, спасибо за ответ. Я пробую ваше предложение, но я все еще не вижу всплывающего окна blockUI в новом окне - только в первом :( - person Korl; 30.04.2013