Salve, sto cercando di paginare un gran numero di record tramite un datalist. Il mio approccio è stato: realizzare una stored procedure in sql server che restituisce i record paginati.
Posto il codice della stored
codice:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [xxxxxx].[ricerca_semplice]
(
    @numPag int
)

AS

declare @avanti int
declare @indietro int
declare @dimPag int
declare @inizio int
declare @fine int
set @dimPag=10; 
set @inizio=(@numPag * @dimPag + 1); 
set @fine=(@numPag * @dimPag + @dimPag);
set rowcount @dimPag
declare @contatore int

SET NOCOUNT ON

BEGIN
set @contatore = (SELECT count(*) from TD_SourcesTbl)
SELECT * FROM
(
SELECT ROW_NUMBER()OVER(ORDER BY [ID] ASC) AS [indiceRiga], * FROM TD_SourcesTbl
) AS T
WHERE T.indiceRiga BETWEEN @inizio AND @fine

    DECLARE @PageNumber int
    DECLARE @PageSize int
    SET @PageNumber = 10;
    SET @PageSize = 20;

END

if @fine < @contatore
      set @avanti = @numPag + 1
      set @indietro = @numPag - 1

if @numPag = 0
      set @avanti = (@numPag + 1)
      set @indietro = 0

if @fine > @contatore
      set @avanti = 0
      set @indietro = @numPag - 1

     begin
      return @avanti
      return @indietro
  end
Questa stored funziona perfettamente, ora dovrei richiamarla in un sqldatasource, visualizzare i dati in un datalist ed avere i parametri di ritorno della stored in una variabile per il cambio di pagina
Richiamo stored
codice:
<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:db_aziend %>" 
        ProviderName="<%$ ConnectionStrings:db_aziend.ProviderName %>" 
        SelectCommand="ricerca_semplice"
        SelectCommandType="StoredProcedure">
            <SelectParameters>
            <asp:QueryStringParameter Name="numPag" QueryStringField="pagina" DefaultValue="0" Type="Int32" />
            <asp:parameter Direction="ReturnValue" Type="Int32" Name="@avanti" />
            </SelectParameters>
                </asp:SqlDataSource>
Inserisco i dati in un datalist
codice:
<asp:DataList ID="DataList1" runat="server" DataSourceID="SqlDataSource1">
                <ItemTemplate>
                <asp:Label ID="IDLabel" runat="server" Text='<%# Eval("Name") %>' />

                </ItemTemplate>
                  <footertemplate>
  </footertemplate>
                </asp:DataList>
Ora non so come recuperare i miei valori in output per inserirli nel <footertemplate>.

Dovrei realizzare qualcosa del genere
<footertemplate>">avanti

E' possibile farlo in questo contesto, dovrei rivedere la mia stored perchè non mi restituisce i parametri giusti o dovrei utilizzare altri metodi per la paginazione?

Ringrazio anticipatamente chi potrà darmi una mano.