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)
第一次页面呈现脚本时执行.如果我单击按钮导致回发,它不会再次执行.
有没有办法让它再次执行脚本?
呦!有一种简单的方法可以让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的唯一方法