我有一个Gridview和一个Object DataSource,可以很好地进行排序和分页。
定义为;
<asp:ObjectDataSource runat="server" ID="oPagedData" SelectMethod ="GetPagedData" TypeName="PagedSortableGridView" EnablePaging="true" SelectCountMethod="GetTotalOfData"
SortParameterName="sortExpression" >
</asp:ObjectDataSource>
我想添加过滤,以便我可以从文本框和复选框中获取值,并将其应用于我的数据(通过entlib检索)。
如果我添加
<FilterParameters>
<asp:formparameter name="Name" formfield="tags" defaultvalue="%%" Type="string" />
<asp:formparameter name="showArchived" formfield="showArchived" defaultvalue="false" />
</FilterParameters>
进入ObjectDataSource然后它编译好了。但我无法看到我如何在我的linq代码中访问这些参数。
(我试过在方法调用中添加一个params数组,或者两个显式的params来检索
data public List<Dealerships> GetPagedData
,但是当我浏览到那个页面时它失败了,因为它期望一个方法调用只有3个参数,排序列,每页行数和当前索引。)
所以我需要在过滤的ods中定义另一个方法调用,还是有一种方法可以在GetPagedData
方法中访问过滤,这样我就可以一次性退出并分页我的数据?
我调查了
oPagedData_Filtering(object sender, ObjectDataSourceFilteringEventArgs e)
但是我希望我的代码落后于我的代码,而不是PagedSortableGridView
我的GetTitalData
和GetPagedData
方法。
答案 0 :(得分:1)
将显式参数添加到GetPagedData
和GetTotalOfData
方法,并使用ObjectDataSource
而不是{{1}}上的SelectParameters
。