1

ページ全体を更新せずにグリッドビューを更新する方法は?

私はこのコードを持っています:

<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()

Gridview11 時間ごとに更新する必要があります。コードを試しましたが、何も得られません。どうやってやるの?前もって感謝します。

4

1 に答える 1

3

Timer's Tick Event でこのコードを書きましたか?

理想的には、Timer の Tick イベントにある必要があります。タイマーに TICK イベントが関連付けられていません。ontick イベントで更新する必要があります (以下に例を示します)。

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