部分渲染后 JavaScript 不执行

发布于 2024-10-03 08:03:41 字数 721 浏览 5 评论 0原文

我有一个最初隐藏的 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>

I have a asp.net panel that is initially hidden and is shown when a button is clicked. There is javascript inside that panel and it doesn't execute after the panel is set to be visible. I can see that javascript function gets outputted on page but it is not called. What can I do to make it so that function gets called? Here is an example:

<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>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

只怪假的太真实 2024-10-10 08:03:41

您可能希望有某种结束请求方法,每当调用 ajax 方法时都会调用该方法。这必须位于脚本资源下。

<script type="text/javascript">

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

</script>

You'll probably want to have some sort of end request method that gets called whenever an ajax method is called. this would have to be under the script resource.

<script type="text/javascript">

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

</script>
为你拒绝所有暧昧 2024-10-10 08:03:41

与其这样做,为什么不使用 Page.ClientScript.RegisterStartupScript()l 来触发它运行。

Rather than doing that, why not use Page.ClientScript.RegisterStartupScript()l to trigger it to run.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文