为什么我的asp .net updatePanel计时器刷新了整个页面?

时间:2015-01-29 22:46:01

标签: asp.net ajax timer refresh updatepanel

我有一个页面,它根据预加载和加载方法中的一组检查显示特定控件。

我有一个更新面板,其中应该在写入文件时显示文件的内容。我这样做是通过在updatepanel和一个文本框中设置一个计时器。计划是在计时器的每个刻度上用文件内容更新文本框。

据我所知,现在这个; https://msdn.microsoft.com/en-us/library/cc295400.aspx我应该只更新updatepanel中的文本框,而不会刷新整个页面,但是我看到我的page_load被点击了,为什么?

我的代码

            <asp:UpdatePanel ID="updatePnlStatusScreen" runat="server" Visible="False">
                <ContentTemplate>
                    <asp:Timer ID="timerLogFileOutput" runat="server" Enabled="False" Interval="5000" ontick="timerLogOutput_Tick">
                    </asp:Timer>
                    <asp:TextBox ID="tbLogOutputScreen" runat="server" Height="50%" Width="100%">Nothing logged yet...</asp:TextBox>
                </ContentTemplate>
            </asp:UpdatePanel>

1 个答案:

答案 0 :(得分:0)

您需要将childrenastriggers设置为false并将updatemode = conditional

设置为
<asp:UpdatePanel ID="updatePnlStatusScreen" runat="server" ChildrenAsTriggers="False" UpdateMode="Conditional" style="display:none">
            <ContentTemplate>
                <asp:Timer ID="timerLogFileOutput" runat="server" Enabled="False" Interval="5000" ontick="timerLogOutput_Tick">
                </asp:Timer>
                <asp:TextBox ID="tbLogOutputScreen" runat="server" Height="50%" Width="100%">Nothing logged yet...</asp:TextBox>
            </ContentTemplate>
        </asp:UpdatePanel>