0
I'm具有分頁上一個GridView一個奇怪的體驗。 我正嘗試延遲加載數據到我griview通過使用一個UpdatePanel具有連接到其上的計時器和的UpdateProgress。 所以basicly什麼我正嘗試做的是當與電網負荷的頁面我通過使其開始計時。在timer_tick事件中,我正在獲取數據並將其加載到變量中。然後調用gridview上的數據綁定,強制它綁定數據。這裏我使用LinqDataSource來做到這一點。最後,我通過updatepanel上的Update方法更新UI。GridView的分頁始終顯示第一頁
這一切工作正常使用排序和GridView控件過濾,但是當I'm分頁它電網網頁像它應該,但分頁模板始終保持在第一頁(顯示1爲活動)。任何想法的人?下面是我的一些代碼:
<asp:LinqDataSource runat="server" ID="OrdersDataSource"
OnSelecting="OrdersDataSource_Selecting" AutoPage="false" />
<asp:GridView runat="server" ID="OrdersGridView" AutoGenerateColumns="false"
DataSourceID="OrdersDataSource"
AllowPaging="true" AllowSorting="true" PageSize="3">
<Columns>
...
<asp:Timer runat="server" ID="LazyLoadUpdatePanel"
Enabled="false"
Interval="1" OnTick="LazyLoadUpdatePanel_Tick" />
...
protected void LazyLoadUpdatePanel_Tick(object sender, EventArgs e)
{
if (datasource == null)
{
System.Threading.Thread.Sleep(2000);
datasource = customer.Orders;
OrdersGridView.DataBind();
OrdersUpdatePanel.Update();
}
LazyLoadUpdatePanel.Enabled = false;
}
BTW我曾嘗試與數據源,沒有它autopaging。這並沒有訣竅。正如我所說的分頁似乎工作,用戶界面只是沒有顯示我應該。
我竟然想通了。這是Gridview上造成問題的小視圖狀態。將其設置爲false會使其工作。 – 2009-06-15 17:28:27