Salve ragazzi,

ho un problema sulla paginazione di un datalist.

Praticamente quando mi trovo all'inizio o alla fine dei record per andare rispettivamente avanti e indietro al primo clic mi viene ricaricata la pagina e basta mentre poi facendo un secondo clic sulle freccette passo al record successivo o precedente.

Nella navigazione dei record intermedi non ho nessun problema al primo clic visualizzo la pagina successiva o precedente.

Vi posto il codice perchè non riescoe a capire il problema:
codice:
<!DOCTYPE html>
<%@ Page Language="C#"%>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>

<script language="c#" runat="server">
void Page_Load(Object sender, EventArgs e){

    String ConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
        Server.MapPath("database/xxxxx.mdb");
   OleDbConnection cn = new OleDbConnection(ConnString);
  
  
  //Apro la connessione;
  cn.Open();
  //Data adapter
  
  OleDbDataAdapter objAdapter = new OleDbDataAdapter("SELECT * FROM News", cn);
  
  //Creo il dataset per la tabella news sulla sx
  DataSet ds = new DataSet();
  
  //Creo il dataset per la tabella sezione news
  DataSet dsTbNews = new DataSet();

  
  //Lo riempio
   //Calcolo i record da estrarre e riempio   il dataset
  int startRecord = (int.Parse(Pagina.Value)-1)*int.Parse(Record_Max.Value);
  objAdapter.Fill(ds, startRecord, int.Parse(Record_Max.Value), "News");
  
  //Lo riempio
  //Calcolo i record da estrarre e riempio   il dataset della tabella sezione News
  int startRecordTbNews = (int.Parse(PaginaTbNews.Value)-1)*int.Parse(Record_MaxTbNews.Value);
  objAdapter.Fill(dsTbNews, startRecordTbNews, int.Parse(Record_MaxTbNews.Value), "News");

  
  Grid.DataSource = ds.Tables[0].DefaultView;
  Grid.DataBind();

  GridTbNews.DataSource = dsTbNews.Tables[0].DefaultView;
  GridTbNews.DataBind();


  cn.Close();

  //Conta i numero di record Totali
  OleDbCommand myCmd = new OleDbCommand("SELECT Count(*) FROM News", cn);
  cn.Open();
  Record_Tot.Value = myCmd.ExecuteScalar().ToString();
  Record_TotTbNews.Value = myCmd.ExecuteScalar().ToString();
  cn.Close();
  
  Grid.DataBind();
  GridTbNews.DataBind();  

 
 //Controllo i Link
  if((int.Parse(PaginaTbNews.Value)-1)<=0){
    Prev.Enabled = false;
  }
  else{
    Prev.Enabled = true ;
  }
  if((int.Parse(PaginaTbNews.Value)*int.Parse(Record_MaxTbNews.Value))>=int.Parse(Record_TotTbNews.Value))
    Next.Enabled = false;
  else
    Next.Enabled = true ;
}
//Controlla che link ha sollevato l'evento e aumenta o diminuisce la pagina corrente
public void Paginazione(object sender, EventArgs e){
  if(((LinkButton)sender).ID=="Prev"){
    if((int.Parse(PaginaTbNews.Value)-1)>=0){
      PaginaTbNews.Value = (int.Parse(PaginaTbNews.Value)-1).ToString() ;
    }
  }
  else if(((LinkButton)sender).ID=="Next"){
    if((int.Parse(PaginaTbNews.Value)*int.Parse(Record_MaxTbNews.Value))<int.Parse(Record_TotTbNews.Value)){
      PaginaTbNews.Value = (int.Parse(PaginaTbNews.Value)+1).ToString() ;
    }
  }
  }


</script>
Questi invece sono i due datalist.
Il primo ha un'elenco limitato a tre news ma senza paginazione.
Il secondo ha sempre un'elenco di tre news ma con la paginazione.
codice:
<input type="hidden" id="Record_Max" value="3" runat="server">
<input type="hidden" id="Pagina" value="1" runat="server">
<input type="hidden" id="Record_Tot" runat="server">
<asp:DataList id="Grid" runat="server" CellPadding="0" RepeatLayout="Flow">
<ItemTemplate>
"><%#DataBinder.Eval(Container.DataItem,"Titolo") %>



</ItemTemplate>
</ASP:DataList>
Il secondo
codice:
<input type="hidden" id="Record_MaxTbNews" value="2" runat="server">
<input type="hidden" id="PaginaTbNews" value="1" runat="server">
<input type="hidden" id="Record_TotTbNews" runat="server">
<asp:DataList id="GridTbNews" runat="server" CellPadding="0" RepeatLayout="Flow">
<ItemTemplate>
"><%#DataBinder.Eval(Container.DataItem,"Titolo") %>


</ItemTemplate>
</ASP:DataList>




<asp:LinkButton id="Prev" Text="Prec." OnClick="Paginazione" runat="server" Visible="True" />
<asp:LinkButton id="Next" Text="Succ." OnClick="Paginazione" runat="server" Visible="True" />
Da cosa potrebbe dipendere?

Buona giornata.