У меня есть gridview, связанный с объектным источником данных. Существует пейджинг, и он работает нормально. Теперь на странице есть также поисковый запрос, и если кто-то нажимает кнопку поиска, я хочу сбросить параметр startRow до 0, но он не работает: текущая страница передается методу выбора источника данных.Как сбросить значение параметра ASP.NET ObjectdataSource
<asp:GridView runat="server" ID="gvCars"
AutoGenerateColumns="false"
DataKeyNames="Id"
AllowPaging="true" AllowSorting="true"
PageSize="2" DataSourceID="dataSource"
OnDataBound="GridView_DataBound" OnRowCommand="gvCars_RowCommand" OnRowDataBound="gvCars_RowDataBound">
<Columns>
...
</Columns>
</asp:GridView>
<asp:ObjectDataSource ID="dataSource" EnablePaging="true" runat="server"
SelectCountMethod="GetCount"
MaximumRowsParameterName="PageSize"
StartRowIndexParameterName="StartRow" SortParameterName="SortExpression"
SelectMethod="Get"
TypeName="DataSource">
<SelectParameters>
<asp:Parameter Name="startRow" />
<asp:Parameter Name="pageSize" />
<asp:Parameter Name="sortExpression" />
<asp:ControlParameter Name="searchTerm" ControlID="txtSearchTerm" PropertyName="Text" />
</SelectParameters>
</asp:ObjectDataSource>
и в коде я пытаюсь сделать:
protected void btnSearch_Click(object sender, EventArgs e)
{
dataSource.SelectParameters["startRow"].DefaultValue = "0";
gvCars.DataBind();
}
но метод прибудете в ObjectDataSource вызывается с любой страницы пользователь был в тот момент, когда он нажал кнопку Поиск.