是否可以在UpdatePanel中重新执行javascript?

Bru*_*oLM 2 c# asp.net ajax updatepanel

我有以下内容:

<asp:UpdatePanel ID="upd" runat="server">
    <ContentTemplate>

        <script> alert("execute again"); </script>

        <asp:LinkButton ID="go" runat="server" Text="Exec JS" />

    </ContentTemplate>
</asp:UpdatePanel>
Run Code Online (Sandbox Code Playgroud)

第一次页面呈现脚本时执行.如果我单击按钮导致回发,它不会再次执行.

有没有办法让它再次执行脚本?

Rob*_*ozo 5

呦!有一种简单的方法可以让JavaScript再次运行.将javascript放在页面的HeadContent部分:

<script> 

function BindIt()
{
    alert("execute again"); 
}

</script>
Run Code Online (Sandbox Code Playgroud)

然后在更新面板内的页面上添加部分,调用您为javascript创建的功能:

            <asp:ScriptManager ID="ScriptManager1" runat="server">
            </asp:ScriptManager>
            <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                <ContentTemplate>
                <script type="text/javascript">
                    Sys.Application.add_load(BindIt);
                </script>
...
Run Code Online (Sandbox Code Playgroud)

在我正在进行的项目中,我希望页面上的所有javascript都能再次运行,所以我只需将它全部放入一个庞大的BindIt样式函数中.我花了一段时间才弄明白,我尝试了很多方法来实现这一点,但这是我能够让jquery使用updatepanels的唯一方法