 <p>Personally I would have a count that tracks the current 'click' that the user is on, like so:</p> <pre><code>protected void btnPrevious_Click1(object sender, EventArgs e) { if(stepCount == 0) //Ensuring that we never get into minus numbers stepCount = 0; stepCount--; DAL.TicketsDataSetTableAdapters.TicketDetailsTableAdapter eobj = new DAL.TicketsDataSetTableAdapters.TicketDetailsTableAdapter(); DataTable dt = new DataTable(); dt = eobj.GetTicketUpdates(txtSupportRef.Text); txtNextStep.Text = eobj.GetTicketData(txtSupportRef.Text).Rows[0][stepCount].ToString(); } protected void btnNext_Click1(object sender, EventArgs e) { if(stepCount == 0) //Ensuring that we never get into minus numbers stepCount = 0; stepCount++; DAL.TicketsDataSetTableAdapters.TicketDetailsTableAdapter eobj = new DAL.TicketsDataSetTableAdapters.TicketDetailsTableAdapter(); DataTable dt = new DataTable(); dt = eobj.GetTicketUpdates(txtSupportRef.Text); txtNextStep.Text = eobj.GetTicketData(txtSupportRef.Text).Rows[0][stepCount].ToString(); } </code></pre> <p>You could also add a check in the next button click to check if the user is currently on the <strong>last record</strong> and if they are, send them to the start of the records list again.</p>