我已經成功實現了我的GridView,但是一如既往,整個ASP.NET生命週期事情都在困擾着我。我無法弄清楚爲什麼這不起作用。我已綁定GridView的OnPageIndexChanged這樣:ASP.NET GridView,在分頁後啓用/禁用按鈕
protected void GridView_PageIndexChanged(object sender, EventArgs e)
{
// Enable/disable the previous/next buttons.
LinkButton btnNextPage = (LinkButton)gvTable.BottomPagerRow.FindControl("btnNextPage");
LinkButton btnPreviousPage = (LinkButton)gvTable.BottomPagerRow.FindControl("btnPreviousPage");
btnNextPage.Enabled = false;
btnPreviousPage.Enabled = false;
}
這是我的ASCX:
<asp:GridView ID="gvTable" runat="server" ShowHeader="true" PageSize="1"
AllowPaging="true" AllowSorting="true" DataSourceID="dsLinqActivities"
AutoGenerateColumns="false" OnRowDataBound="GridView_DataBound"
OnPageIndexChanged="GridView_PageIndexChanged">
<Columns>
<asp:BoundField DataField="Edited" HeaderText="Date" />
<asp:BoundField DataField="Status" HeaderText="Status" />
<asp:BoundField DataField="Activity" />
</Columns>
<PagerSettings Position="Bottom" Visible="true" />
<PagerStyle CssClass="pager" />
<PagerTemplate>
<asp:LinkButton ID="btnPreviousPage" class="navbtn prev left"
runat="server" CommandName="Page" CommandArgument="Prev">
<span>Newer activities</span></asp:LinkButton>
<asp:LinkButton ID="btnNextPage" class="navbtn next right"
runat="server" CommandName="Page" CommandArgument="Next">
<span>Older activities</span></asp:LinkButton>
</PagerTemplate>
</asp:GridView>
調試我的應用程序,看到代碼正在運行並做正確的事,但由於某種原因,當該控件已呈現,兩個按鈕始終處於啓用狀態。我在這裏做錯了什麼?
有趣的是,我真的沒有嘗試過的代碼。我曾經像之前提到的那樣設定它。試試嗎? – ram 2009-12-19 19:24:48
你可以發佈你的代碼前(aspx/ascx)爲您的網格嗎?讓我看一看。另外,你是否在分頁後將數據綁定到網格? – ram 2009-12-19 19:39:31
@Ram:我只顯示一次數據綁定的GridView,並且在'OnLoad'(如果'!IsPostBack')。我在這個問題中加了'ascx'。 – 2009-12-19 19:47:48