Asp.Net получить значение из всплывающего окна в JavaScript - PullRequest
1 голос
/ 16 декабря 2011

Я использую пользовательский элемент управления и мне нужно вызвать всплывающее окно, которое задает вопрос, и мне нужно отправить ответ (true или false) обратно в пользовательский элемент управления, который вызывает всплывающее окно.Я объявил скрытое поле для хранения значения в нем со стороны клиента, чтобы я мог получить к нему доступ из кода, а затем выполнить дополнительный код.У меня есть следующий код:

ASP.Net

<script type="text/javascript">
        function confirmNoCallList() {
            debugger;
            var resp = confirm("¿Seguro/a que desea agregar a este subscriptor a la 
                       lista de 'No Llamar'?");

            window.opener.document.getElementById('hfAddToNoCallList').value = resp;
        }
</script>


<ajax:TabContainer ID="tbcMyProfile" runat="server" ActiveTabIndex="0" Width="500px">
        <ajax:TabPanel ID="tbpInfoCta" runat="server" HeaderText="Información de mi
                           Cuenta">
            <ContentTemplate>
                <asp:HiddenField ID="hfAddToNoCallList" runat="server" />
.
.
.

Я получаю сообщение об ошибке, когда функция попадает в строку window.opener.Любые идеи о том, как сделать это правильно?

Ответы [ 2 ]

1 голос
/ 16 декабря 2011

Вы должны получить динамический ClientID во время выполнения или передать его функции и аргументу, который может найти ее:

document.getElementById('<%= hfAddToNoCallList.ClientID"%>').value = resp;

или

   function confirmNoCallList(hiddenField) {
        debugger;
        var resp = confirm("¿Seguro/a que desea agregar a este subscriptor a la 
                   lista de 'No Llamar'?");

        document.getElementById(hiddenField).value = resp;
    }
1 голос
/ 16 декабря 2011

window.opener дает ссылку на окно браузера, которое вызвало window.open(...) для создания текущего окна.Если вы не звоните window.open, то средство открытия будет нулевым.

В размещенном вами фрагменте кода JavaScript и скрытое поле находятся в одном документе.Попробуйте удалить window.opener. из строки window.opener.document.getElementById ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...