You are making a few mistakes here. In the code below, the using
block will dispose the dReader
when it leave the block
using (System.Data.SqlClient.SqlDataReader dReader = cmd.ExecuteReader())
and you can't use the same dReader
after it has been disposed.
Another issue is that you have static System.Data.SqlClient.SqlDataReader dReader;
but inside btnFirst_Click method you are creating the method level dReader
I would load the search results to a DataSet/DataTable
and use that for the UI. You can use FormView for this.
In the page load, do as below
formView.DataSource = dataTable;
formView.DataBind();