Javascript не выполняется после частичного рендеринга - PullRequest
3 голосов
/ 16 ноября 2010

У меня есть панель asp.net, которая изначально скрыта и отображается при нажатии кнопки. Внутри этой панели есть javascript, и он не запускается после того, как панель установлена ​​как видимая. Я вижу, что функция javascript выводится на странице, но она не вызывается. Что я могу сделать, чтобы функция вызывалась? Вот пример:

<asp:LinkButton id="lbtn" runat="server" Text="show" OnClick="lbtn_Click" />
    <asp:UpdatePanel id="upnl" runat="server" UpdateMode="Conditional">
       <contenttemplate>
        <asp:panel id="pnlContent" runat="server" visible="false">
            content initially hidden.

            <script>
                alert('done!');
            </script>
        </asp:panel>
    </contenttemplate>
    <triggers>
        <asp:AsyncPostBackTrigger ControlID="lbtn"/>
    </triggers>
</asp:UpdatePanel>

Ответы [ 2 ]

1 голос
/ 16 ноября 2010

Возможно, вы захотите иметь какой-нибудь метод запроса конца, который вызывается при каждом вызове ajax-метода.это должно быть в ресурсе скрипта.

<script type="text/javascript">

    var prm = Sys.WebForms.PageRequestManager.getInstance();
    prm.add_endRequest(function(sender, args){ alert("endRequest"); });

</script>
0 голосов
/ 16 ноября 2010

Вместо того, чтобы делать это, почему бы не использовать Page.ClientScript.RegisterStartupScript() l, чтобы запустить его.

...