2012-05-07 3 views
1

전체 화면 새로 고침없이 gridview를 새로 고치는 방법? (실제 시간 기준), 예를 들어전체 페이지 (ASP.Net) 새로 고침없이 Gridview 새로 고침

<asp:Timer ID="Timer1" runat="server" Interval="3600000"> 
</asp:Timer> 

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
    <Triggers> 
     <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" /> 
    </Triggers> 
    <ContentTemplate> 
     <asp:Panel ID="Panel1" runat="server" Height="250px" Width="250px"> 
      <asp:GridView ID="Gridview1" runat="server" ></asp:GridView> 
     </asp:Panel> 
    </ContentTemplate> 
</asp:UpdatePanel> 

Gridview1의 데이터 소스는 코드 숨김에서 작성해야합니다 :

이 코드를

Dim DT As New System.Data.DataTable 
    Dim reader As SqlCeDataReader 
    Using myCEConnection As New SqlCeConnection(myCEConnectionString) 
     myCEConnection.Open() 
     Using myCommand As SqlCeCommand = myCEConnection.CreateCommand() 
      myCommand.CommandText = "SELECT ScheduleID FROM Schedule " & _ 
            "WHERE (Hour = '"& Hour(Now) &"')" 
      reader = myCommand.ExecuteReader() 

      DT.Load(reader) 
     End Using 
     myCEConnection.Close() 
    End Using 

    Gridview1.DataSource = DT.DefaultView 
    Gridview1.DataBind() 

Gridview1는해야 1 시간마다 새로 고침하십시오. 나는 코드를 시도했지만 아무것도 얻지 못했다. 어떻게해야합니까? 미리 감사드립니다.

+0

당신은 한 시간 이상 실행이 코드를했다하고 다시 게시하지 않았다 : 그것은 (아래 예) ontick 이벤트와 업데이트해야? 더 짧은 간격으로 디버깅에서 무엇을 보았습니까? –

+0

1 시간 동안 데이터 캐싱을 찾으십니까? –

+0

이 코드를 어디에 작성 했습니까? 타이머 틱 이벤트에 있나요? – Sankalp

답변

3

이 코드를 Timer 's Tick 이벤트에 기록 했습니까?

이상적으로 Timer 's Tick 이벤트에 있어야합니다. 타이머에 연관된 TICK 이벤트가 없습니다.

<asp:Timer ID="timer" runat="server" ontick="timer_Tick"></asp:Timer> 
+0

두 가지 지적 할 점 : 그는 VB.NET을 사용하기 때문에 'Handles Timer1.Tick'을 사용하여 이벤트를 유선으로 처리 할 수 ​​있으며 두 번째로 틱 이벤트 핸들러에서 호출하는 코드를 별도의 메서드로 사용하는 것이 좋습니다. 왜냐하면 그는 아마 첫 번째 Page.Load에서 같은 코드를 호출하기를 원할 것이기 때문이다. –

+0

동의합니다. 수정 해 주셔서 감사합니다. – Sankalp

+0

@Sankalp : 감사합니다. 하지만 왜 지금은 항상 tickloader가 매 1 초마다 gridview를 다시로드합니까? 나는 간격을 "3600000"으로 설정했습니다 ... –

관련 문제