Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di atm
    Registrato dal
    Nov 2009
    Messaggi
    54

    [asp.net] Aggiungere UserControl a Repeater

    Ciao ragazzi, vorrei implementare una pagina con la modalità di scrolling infinito... Sto partendo nella realizzazione vedendo questo esempio:


    http://www.aspsnippets.com/Articles/...nd-ASPNet.aspx


    La differenza sta nel fatto che nel mio repeater avrò un mio UserControl dove passerò i vari dati recuperati da DB... La mia domanda è: c'è un modo per aggiungere al Repeater i vari UserControl che mi creo una volta restituiti i record da DB?


    In pratica non voglio/posso che una volta chiamato il DB, i record vengano restituiti in formato XML e poi con javascript/jquery aggiunti al Repeater... Questo perché il mio UserControl ha una logica al suo interno che deve essere fatta prima della visualizzazione...


    Grazie a tutti




    p.s. Unico modo che mi viene in mente è aggiungere di volta in volta i record restituiti in un ArrayList memorizzato nella ViewState e poi assegnare essa al Repeater

  2. #2
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    non sono sicuro di aver capito, ma basta usare un <asp: placeholder> nell'ItemTemplate del Repeater in cui magari formatti una tabella (esempio di cui puoi vedere il risultato su Runnable: http://goo.gl/OmAO5h)

    ...e quando cicli nei dati recuperati da DB configuri il tuo UserControl con i dati estratti e poi lo aggiungi al segnaposto (=placeholder). Il framework separera' in automatico le varie istanze dello UserControl per le varie righe.

    dimmi se ho detto una cavolata
    Ultima modifica di djciko; 06-11-2015 a 15:43

  3. #3
    Utente di HTML.it L'avatar di atm
    Registrato dal
    Nov 2009
    Messaggi
    54
    Quote Originariamente inviata da djciko Visualizza il messaggio
    non sono sicuro di aver capito, ma basta usare un <asp: placeholder> nell'ItemTemplate del Repeater in cui magari formatti una tabella (esempio di cui puoi vedere il risultato su Runnable: http://goo.gl/OmAO5h)

    ...e quando cicli nei dati recuperati da DB configuri il tuo UserControl con i dati estratti e poi lo aggiungi al segnaposto (=placeholder). Il framework separera' in automatico le varie istanze dello UserControl per le varie righe.

    dimmi se ho detto una cavolata
    Grazie djciko per la risposta... Sono stato poco chiaro; vediamo un esempio:

    nel database ci sono 10 record totali... ad ogni richiesta(con ajax) chiedo al DB due nuovi record per volta.... i due record che mi sono stati restituiti li voglio aggiungere al Repeater...

    Quindi in pratica non posso fare:
    codice:
    repeater.DataBound = nuoviRecord;
    repeater.DataBind();
    perchè significherebbe rimuovere ogni volta i precedenti record estratti...

    Giusto?

    Spero di essere stato chiaro e tu mi possa aiutare in questo problema....

    Grazie

  4. #4
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    non devi solo aggiungere i nuovi record, devi rifare la stessa query che dovrebbe mostrarti i nuovi record, no ?
    comunque non e' chiaro cosa c'entrino gli User Control

  5. #5
    Utente di HTML.it L'avatar di atm
    Registrato dal
    Nov 2009
    Messaggi
    54
    Quote Originariamente inviata da djciko Visualizza il messaggio
    non devi solo aggiungere i nuovi record, devi rifare la stessa query che dovrebbe mostrarti i nuovi record, no ?
    comunque non e' chiaro cosa c'entrino gli User Control
    L'articolo che sto seguendo in pratica tira fuori dal DB ogni volta solo i record nuovi. Ora se io faccio il Binding solo dei nuovi, gli altri record che sono stati tirati fuori precedentemente rimangono nel repeater? Oppure il repeater conterrà sempre e solo i record nuovi?

    Poi altra considerazione: nell'articolo viene fatta una chiamata AJAX ad un WebMethod della pagina. Tale metodo è statico. Posso io da tale metodo utilizzare l'oggetto Repeater? Io penso di no...

    Grazie

  6. #6
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Quote Originariamente inviata da atm Visualizza il messaggio
    L'articolo che sto seguendo in pratica tira fuori dal DB ogni volta solo i record nuovi. Ora se io faccio il Binding solo dei nuovi, gli altri record che sono stati tirati fuori precedentemente rimangono nel repeater?
    Grazie
    No, non rimangono. Il datasource del repeater rispecchia la query fatta. Dovresti fare due repeater uno coi vecchi ed uno con il delta dei nuovi.

    Per la seconda domanda non e' chiaro che intendi "WebMethod della pagina".

    Scusami ma dovresti essere PIU' CHIARO, sei partito da un'altra domanda....

  7. #7
    Utente di HTML.it L'avatar di atm
    Registrato dal
    Nov 2009
    Messaggi
    54
    Quote Originariamente inviata da djciko Visualizza il messaggio
    No, non rimangono. Il datasource del repeater rispecchia la query fatta. Dovresti fare due repeater uno coi vecchi ed uno con il delta dei nuovi.

    Per la seconda domanda non e' chiaro che intendi "WebMethod della pagina".

    Scusami ma dovresti essere PIU' CHIARO, sei partito da un'altra domanda....
    Grazie e scusami... hai ragione... diciamo che sono in una fase di studio per realizzare ciò che voglio... Mi hai chiarito (ed è come pensavo) il fatto del repeater.

    Per quanto riguarda il WebMethod, dall'articolo quello che evinco è che da javascript, tramite AJAX, viene invocato il metodo esposto(una sorta di webservice) e recuperati i dati dal DB per poi essere restituiti in formato XML. E' possibile invece di restituire i dati, chiamare il DataBound e DataBind del repeater dal metodo statico?

    Grazie djciko

  8. #8
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Da un metodo, che sia statico o meno, puoi fare cio' che vuoi...il problema non e' chi chiama / cosa fa il metodo, ma CHI LO CHIAMA, che lo deve fare in modo diverso, e dagli obblighi che hai nei riguardi degli altri modificatori della classe che lo contiene.

    Pero' non ho capito il metodo statico dov'e', nel WebService (si, è un webservice, le pagine non hanno WebMethods) o nella pagina ?

    In pratica hai una pagina che chiama un WebService con Ajax e con il risultato fa il Bind ad un repeater ?

    ps: in fase di studio non si parte con WebMethods, Ajax e cose cosi' complesse...dovresti partire dalle basi..

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.