2010-10-13 3 views
1

SalutASP.NET Actualisation automatique gridview updatepanel timer

Je suis nouveau sur ajax. Je travaille actuellement sur visual studio 2005. J'installe le ajax Min4setup et j'ajoute le toolkit de contrôle à la barre d'outils des contrôles.

J'ai créé un nouveau site web Ajax-Enabled puis j'ajoute les éléments existants (toute la page) de l'ancien site web au nouveau.

J'ai écrit le code ci-dessous dans page.aspx et l'autre code dans page.aspx.vb mais rien ne se passe, l'événement timer ne se déclenche pas.

code:

<asp:ScriptManager ID="ScriptManager1" runat="server"> 
</asp:ScriptManager> 

<asp:Timer ID="Timer1" runat="server" OnTick="Timer1_Tick" Interval="8000"  Enabled="true"> 
</asp:Timer> 

<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Always" runat="server"> 
<Triggers> 
<asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" /> 
</Triggers> 
<ContentTemplate> 
<asp:Label ID="Label1" runat="server" Text="test" /> 
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4" 
              DataSourceID="SqlDataSource1" ForeColor="#333333" GridLines="None" Width="616px" BorderStyle="Outset"> 
              <RowStyle BackColor="#EFF3FB" /> 
              <Columns> 
               <asp:BoundField DataField="Sender" HeaderText="Sender" 
               SortExpression="MO_NICKNAME_SOURCE_LOG_HIS" /> 
<asp:BoundField DataField="DataChat" HeaderText="Conversation" SortExpression="DataChat" /> 
<asp:TemplateField HeaderText="Date" SortExpression="DATETIMEIN_LOG_HIS"> 
<EditItemTemplate> 
<asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("DATETIMEIN_LOG_HIS") %>'></asp:TextBox> 
</EditItemTemplate> 
<ItemTemplate> 
<asp:Label ID="Label2" runat="server" Text='<%# Bind("DATETIMEIN_LOG_HIS") %>'></asp:Label> 
</ItemTemplate> 
</asp:TemplateField> 
</Columns> 
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" /> 
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" /> 
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" /> 
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" /> 
<EditRowStyle BackColor="#2461BF" /> 
<AlternatingRowStyle BackColor="White" /> 
</asp:GridView> 
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:OfflineChat_ConnectionString %>" 
SelectCommand="SP_GET_OFFLINE_USER_CHAT" SelectCommandType="StoredProcedure"> 
<SelectParameters> 
<asp:SessionParameter Name="MO_OFFLINEUSER" SessionField="ID" Type="String" /> 
<asp:QueryStringParameter Name="MO_NICKNAME_REALUSER" QueryStringField="realuserNick" 
               Type="String" /> 
</SelectParameters> 
</asp:SqlDataSource> 
</ContentTemplate> 
</asp:UpdatePanel> 

Protected Sub Timer1_Tick(ByVal sender As Object, ByVal e As EventArgs) 
{ 
    Label1.Text = "Grid Refreshed at: " 
    '& DateTime.Now.ToString 
    GridView1.DataBind() 
    UpdatePanel1.Update(); 
} 

Toute idée ou suggestion sera très appréciée.

Cordialement,

Répondre

1

démarrer la minuterie avec timer1.Start(). Effacez GridView, définissez GridView1.DataSet = null et rechargez les liaisons.

+0

time1.start() doit être écrit dans le code derrière? – Crefly

+0

lors du débogage du code, Sub Timer1_Tick ne tire jamais – Crefly

+0

démarrez-vous votre minuterie n'importe où? la minuterie ne fonctionne pas sans démarrer. – martinhodler

Questions connexes