Проблемы с получением ссылки на ModalPopupExtender с использованием JavaScript - PullRequest
0 голосов
/ 15 июня 2009

Я пытаюсь использовать следующий код для получения ссылки на modalpopupextender, но когда я проверяю значение переменной javascript 'modal', оно всегда равно нулю. Как правильно получить ссылку на элемент управления AJAX с помощью javascript?

.vb

        Dim myStringBuilder As New StringBuilder(246)
        myStringBuilder.AppendFormat("      <script type=""text/javascript"">{0}", Environment.NewLine)
        myStringBuilder.AppendFormat("            var modal = $find('<%=modal1.ClientID%>');{0}", Environment.NewLine)
        myStringBuilder.AppendFormat("            debugger;{0}", Environment.NewLine)
        myStringBuilder.AppendFormat("            $find('<%=modal1.ClientID%>').add_showing({0}", Environment.NewLine)
        myStringBuilder.AppendFormat("                function(){0}", Environment.NewLine)
        myStringBuilder.AppendFormat("                {{{0}", Environment.NewLine)
        myStringBuilder.AppendFormat("                    alert(""Modal popup will be showing"");{0}", Environment.NewLine)
        myStringBuilder.AppendFormat("                }}{0}", Environment.NewLine)
        myStringBuilder.AppendFormat("            );{0}", Environment.NewLine)
        myStringBuilder.AppendFormat("      </script>{0}", Environment.NewLine)
        ClientScript.RegisterStartupScript(Me.GetType(), "myJSalert", myStringBuilder.ToString())

.aspx

        <ajaxToolkit:ModalPopupExtender ID="mpeResetConfirm" runat="server"
        TargetControlID="btnReset" PopupControlID="pnlConfirmation" BehaviorID="modal1"/> 

Ответы [ 2 ]

1 голос
/ 15 июня 2009

Я подозревал, что частью проблемы было то, что popupextenders не отображались во время вызова сценария. Итак, после поиска в Google я нашел этот пост: http://forums.asp.net/p/1413275/3112082.aspx#3112082. Вот решение, которое я выбрал:

.aspx

    <ajaxToolkit:ModalPopupExtender ID="mpeResetConfirm" runat="server"
    TargetControlID="btnReset" PopupControlID="pnlConfirmation" BehaviorID="modal1"/>
    <script type="text/javascript" language="javascript">
        function pageLoad() 
        {
            var modal = $find('modal1');
            debugger;
            $find('modal1').add_showing(
                function()
                {
                    alert("Modal popup will be showing");
                }
           );  
        }
    </script>
0 голосов
/ 15 июня 2009

Попробуйте

$find('IDofModalPopupExtender')

вместо

$find('<%=modal1.ClientID%>')
...