返回“ASP.NET 2.0數據教程目錄”
第七步: 在自定義分頁的Repeater 裡添加排序功能
現在已經完成了自 定義分頁,我們再來添加排序功能。ProductsBLL類的 GetProductsPagedAndSorted方法和GetProductsPaged一樣有startRowIndex 和 maximumRows 參數,不一樣的是它還多了一個sortExpression 參數。在 SortingWithCustomPaging.aspx裡使用GetProductsPagedAndSorted方法我們需要 :
將ObjectDataSource的SelectMethod屬性從GetProductsPaged改為 GetProductsPagedAndSorted。
為ObjectDataSource的SelectParameters 參數集合增加一個sortExpression Parameter。
創建一個私有的屬性用來 在postback過程中通過view state存儲SortExpression。
修改 ObjectDataSource的Selecting event handler將ObjectDataSource的 sortExpression 參數值賦為SortExpression 屬性(3中創建的)。
創建 排序界面。
首先修改ObjectDataSource的SelectMethod屬性並添加 sortExpression 參數。確定sortExpression 的類型是String。完成這些後 ObjectDataSource的聲明標記看起來應該和下面差不多:
ASP.NET
<asp:ObjectDataSource ID="ProductsDataSource" runat="server"
OldValuesParameterFormatString="original_{0}" TypeName="ProductsBLL"
SelectMethod="GetProductsPagedAndSorted"
OnSelecting="ProductsDataSource_Selecting">
<SelectParameters>
<asp:Parameter Name="sortExpression" Type="String" />
<asp:Parameter Name="startRowIndex" Type="Int32" />
<asp:Parameter Name="maximumRows" Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
Next, we need a page-level SortExpression property whose value is serialized to view state. If no sort expression value has been set, use “ProductName” as the default: