1

如何在不刷新整个页面的情况下刷新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 小时刷新一次。我尝试了代码,但一无所获。我怎样才能做到这一点?先感谢您。

4

1 回答 1

3

您是否在 Timer's Tick Event 上编写了此代码?

理想情况下,它应该在 Timer's Tick 事件中。您的计时器没有任何关联的 TICK 事件。它应该使用 ontick 事件进行更新(示例如下):

<asp:Timer ID="timer" runat="server" ontick="timer_Tick"></asp:Timer>
于 2012-05-07T20:09:49.800 回答