objectdatasource에 바인딩 된 gridview가 있습니다. 페이징이 있으며 정상적으로 작동합니다. 이제는 페이지에 검색 상자가 있습니다. 누군가 검색 버튼을 클릭하면 startRow 매개 변수를 0으로 재설정하려고하지만 작동하지 않습니다. 현재 페이지가 데이터 소스의 Select 메서드에 전달됩니다. 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를의 get 메소드는 그가 searchbutton을 클릭 한 순간에 어떤 페이지 사용자이었다 호출합니다.