我有以下几点:
<asp:UpdatePanel ID="upd" runat="server">
<ContentTemplate>
<script> alert("execute again"); </script>
<asp:LinkButton ID="go" runat="server" Text="Exec JS" />
</ContentTemplate>
</asp:UpdatePanel>
页面首次呈现脚本时执行。如果单击该按钮导致回发,它将不会再次执行。
有没有办法让它再次执行脚本?
最佳答案
!有一种简单的方法可以使JavaScript重新运行。将javascript放在页面的HeadContent部分:
<script>
function BindIt()
{
alert("execute again");
}
</script>
然后在“更新”面板内的页面上添加部分,并调用您为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>
...
在我正在从事的项目中,我希望页面上的所有JavaScript再次运行,因此我将所有内容都放入了一个庞大的BindIt样式函数中。我花了一段时间才弄清楚,我尝试了很多方法来使它起作用,但这是我唯一能够使jquery与updatepanels一起工作的方法