2013-07-05 64 views
1

我已经将一个GridView与一个计时器一起放入UpdatePanel中。现在的问题是每次定时刷新GridView中的图像闪烁。任何人都知道为什么?这里是我的代码:GridView闪烁时,放入UpdatePanel内使用计时器(asp.net)

<asp:UpdatePanel ID="UpdatePanel3" runat="server" UpdateMode="Conditional"> 
     <ContentTemplate> 
      </asp:Timer> 
      <asp:Timer ID="Timer1" runat="server" Interval="100" OnTick="Timer1_Tick"> 
      </asp:Timer> 
      <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:masterConnectionString3 %>" SelectCommand="[GET DATA FROM SQL SERVER]"></asp:SqlDataSource> 
      <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" CellPadding="4" DataSourceID="SqlDataSource1" ForeColor="Black" GridLines="None" Width="940px"> 
       <Columns> 
        <asp:BoundField DataField="Column1" HeaderText="Column1" HtmlEncode="False" ReadOnly="True" SortExpression="Column1" /> 
        <asp:BoundField DataField="Column2" HeaderText="Column2" ReadOnly="True" SortExpression="Column2" /> 
       </Columns> 
      </asp:GridView> 
       <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /> 
       </ContentTemplate> 
      </asp:UpdatePanel> 

回答

0

GridView闪烁,因为定时器发生回发。将计时器放置在不同的更新面板中。

UpdateMode="Conditional"在在UpdatePanel和UpdatePanel.Update();在代码隐藏:

+0

刚刚试了一下,问题是,在GridView没有得到,如果定时器处于不同的UpdatePanel更新中... – Dimo

+0

如果您需要定时更新那么你基本上被卡住了。更新面板只为其内部的成员进行部分回发。这意味着,当它更新时,你总会看到一个“闪烁”。唯一可行的解​​决方案是使用JavaScript更新它。 – Machinegon

+0

我只想在计时器中出现特定条件时才更新面板。我试过UpdatePanel.Update();当条件设置为true但它不工作:( – Dimo