Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript更新问题。ASP.net更新面板_Javascript_Asp.net - Fatal编程技术网

Javascript更新问题。ASP.net更新面板

Javascript更新问题。ASP.net更新面板,javascript,asp.net,Javascript,Asp.net,我有一些Javascript,我正在向UpdatePanel中的文本控件写入。我已将其设置为每15秒提醒一次当前时间,但我总是得到原始时间。当我使用Firebug时,我可以看到脚本正在更新。这是因为它是部分页面刷新吗?我怎样才能阻止这种事情发生。我添加了OutputCache指令,尝试停止缓存,看看这是否是问题所在,但这并没有带来任何区别 下面是代码示例。前端: <asp:ScriptManager ID="ScriptManager1" runat="server"> </a

我有一些Javascript,我正在向UpdatePanel中的文本控件写入。我已将其设置为每15秒提醒一次当前时间,但我总是得到原始时间。当我使用Firebug时,我可以看到脚本正在更新。这是因为它是部分页面刷新吗?我怎样才能阻止这种事情发生。我添加了OutputCache指令,尝试停止缓存,看看这是否是问题所在,但这并没有带来任何区别

下面是代码示例。前端:

<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="updTest" runat="server" UpdateMode="Always">
    <ContentTemplate>
        <script type="text/javascript">
            function initScript(){
            <asp:literal id="litUpdateScript" runat="server" />
            }
        </script>
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger EventName="Tick" ControlID="panelRefresh" />
    </Triggers>
</asp:UpdatePanel>
<asp:Timer ID="panelRefresh" Interval="15000" runat="server"></asp:Timer>

这会导致页面加载的时间正确,但在计时器刷新时不会更改。虽然我可以在firebug中看到脚本的变化。

我有一个猜测,我承认我实际上没有尝试过这个,但我已经使用javascript和更新面板很多次了

我认为您应该尝试在勾号中注册事件,而不是在页面加载中注册事件。更像这样:

Protected Sub panelRefresh_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles panelRefresh.Tick   
    Me.litUpdateScript.Text = "alert('" & Now.ToString() & "');"   
    Dim script As String = "initScript();"    
    ScriptManager.RegisterStartupScript(this.updatePanel, typeof(string), "alertScript", "alert('Error Message');", true);
End Sub  

Google I上的环顾四周的人说,人们在页面加载方面有问题,但让他们在其他活动中工作。值得一试,让我知道。

如果不看你的代码,我就说不出来,但在JS中,人们通常会设置处理程序并省略闭包,以便在定义处理程序时(而不是在运行时)实例化变量并调用函数。否没有修复。同样的问题。看起来它在Firebug中仍然可以工作。
Protected Sub panelRefresh_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles panelRefresh.Tick   
    Me.litUpdateScript.Text = "alert('" & Now.ToString() & "');"   
    Dim script As String = "initScript();"    
    ScriptManager.RegisterStartupScript(this.updatePanel, typeof(string), "alertScript", "alert('Error Message');", true);
End Sub