2012-12-14 260 views
0

我使用下面的代码通过VS2010中的AJAX工具每60秒自动刷新页面。完美的作品。停止自动页面刷新

<asp:MultiView ID="MultiView1" runat="server"> 
    <asp:View ID="View1" runat="server"> 
    <asp:UpdatePanel ID="UpdatePanel1" runat="server" ViewStateMode="Enabled" UpdateMode="Conditional"> 
     <ContentTemplate> 
     ASP.NET/HTML Code 
      <p> 
      <asp:Button ID="Button2" runat="server" Text="Click here" OnClick="Button2_Click" /> to disable the pages automatic refresh.</p> 
     </ContentTemplate> 
     <Triggers> 
     <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" /> 
     </Triggers> 
    </asp:UpdatePanel> 
    <asp:Timer ID="Timer1" runat="server" Interval="60000"> 
    </asp:Timer> 
    </asp:View> 
    <asp:View ID="View2" runat="server"> 
    etc. 
</asp:MultiView> 

我想在asp.net页面上包含一个按钮来取消自动刷新。

我试图包括下面,但是当我点击按钮,它没有工作。下面是Button的OnClick事件的代码隐藏。 asp.net代码在上面的代码中。

protected void Button2_Click(object sender, EventArgs e) 
{ 
    Timer1.Interval = 0; 
} 

我在哪里出错了?这甚至是一种方式来做到这一点,或者我需要去另一条路线,以便让用户取消自动页面刷新?

+7

我有点生锈就这个问题和刚才去了我的头顶部,但不会是Timer1.Enabled = FALSE ; – PeterJ

+0

哦,我没有想到禁用它。我只是在假设将其设置为0可能会这样做。 Jeez,这有点愚蠢的假设。大声笑我会改变这一点,看看会发生什么。 – Trido

回答

0

感谢PeterJ我找到了解决方案。我修改了代码,因为我点击了它,页面没有刷新。问题出在我的代码后面的按钮OnClick事件。我:

Timer1.Interval = 0; 

当我应该有:

Timer1.Enabled = false;