Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072

    Gallery jquery e pagina ASP.NET

    Ciao a tutti, in una pagina ASP.NET vorrei inserire la classica gallery jquery ma facendo in modo che vengano visualizzate tutte le immagini presenti un una specifica cartella (gestendo il path per visualizzare le imamgini dal codebehind)

    Quindi tramite il CodeBehid creo i path da passare alla gallery per visualizzare tutte le immagini all'interno.

    Grazie mille

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072
    Non so proprio come risolvere il problema

  3. #3
    Utente di HTML.it L'avatar di mexican
    Registrato dal
    Oct 2001
    residenza
    cava de tirreni
    Messaggi
    3,541
    Prova a vedere qui:

    http://forum.html.it/forum/showthrea...hreadid=467768

    Poi metre leggi i file ti riepi un repeater con il codice per la gallery.

  4. #4
    Utente di HTML.it L'avatar di rsdpzed
    Registrato dal
    Aug 2001
    Messaggi
    764
    è esattamente come lo faresti in html solo che la lista delle immagini la fai generare da un repeater e i tag img da un controllo image dentro il repeater.

    Qualcosa tipo questo:
    codice:
    <div class="carousel-images">
                    <asp:Repeater ID="Repeater1" runat="server" EnableViewState="false">
                        <ItemTemplate>
                            <asp:HyperLink ID="HyperLink1" runat="server" EnableViewState="false" NavigateUrl="<%# Container.DataItem.ToString() %>" cssclass="fancybox">
                                <asp:Image ID="Image1" runat="server" EnableViewState="false" ImageUrl="<%# Container.DataItem.ToString() %>" />
                            </asp:HyperLink>
                        </ItemTemplate>
                    </asp:Repeater>
                </div>
    i tag html rispondono ai requisiti del plugin jquery (alla fine son sempre gli stessi: div con un id particolare o elementi con una class particolare, ecc). Per esempio qui sopra coesistono insieme sia il carosello che il fancybox ma non è questo il punto. la cosa importante è che i tag img vengono generati dal repeater al quale ovviamente dal code behaind bisogna assegnare la lista dei percorsi:

    codice:
        protected void Page_Load(object sender, EventArgs e)
        {
                        List<string> percorsi = recuperaPathDaCartella(cartella);
                        Repeater1.DataSource = percorsi;
                        Repeater1.DataBind();
        }
    e questo è l'html prodotto:

    codice:
    <div class="carousel-images">
        [img]/images/a.jpg[/img]
        [img]/images/a.jpg[/img]
    </div>
    spero ti abbia chiarito un po la faccenda, ciao.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072
    Grazie infinite per l'aiuto!!

    A questo punto come potrei rendere la gallery graficamente simile alle jquery gallery che si vedono in giro??

    ho visto che tu applichi questo foglio di stile
    carousel-images

    Grazie

  6. #6
    Utente di HTML.it L'avatar di rsdpzed
    Registrato dal
    Aug 2001
    Messaggi
    764
    quel foglio di stile me lo ha dato il plug-in che ho scaricato, ovvio che ognuno si fa qualche modifica ma parlo di piccole cose.

    non te l'ho postata la parte perchè è esattamente uguale a cio che avresti in html e basta. prendendo spunto dagli esempi forniti da qualsiasi plugin jquery di questo tipo, non devi far altro che mettere nella head della pagina i riferimenti ai file .js e .css

    es.
    codice:
    <head>
        <link rel="stylesheet" href="/fancybox/jquery.fancybox-1.3.4.css" type="text/css" media="screen" /> 
        <script type="text/javascript" src="/scripts/jquery-1.4.4.min.js"></script>
        <script type="text/javascript" src="/scripts/jquery.waterwheelCarousel-1.2.2.js"></script>
        <script type="text/javascript" src="/fancybox/jquery.fancybox-1.3.4.pack.js"></script>
        <script type="text/javascript">
            $(window).load()
            {
                $(document).ready(function () {
                    $("#waterwheel-carousel-default").waterwheelCarousel();
                });
            };
        </script>
    ti consiglio di chiarirti prima quale tra le tante tipologie di gallery usare, una volta scelta, riproduci un esempio in puro html e se soddisfacente lo fai diventare "intelligente" con asp.net.

    P.S.
    se non hai idea di quale utilizzare basta cercare jquery gallery su google ne escono tantissime

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072
    Grazie infinite.... ora provo a completare il giro dall'inizio alla fine sulla base delle tue info.

    Potresti dirmi il plugin che hai usato?? Così parto dallo stesso tuo esempio per creare il layout!

    Thanks

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072
    Ci sono quasi, ora ho un piccolo problemino

    Ho creato la pagina .NET che visualizza la gallery ora

    Codice PHP:
    [*]
                    <
    a href="MasterPages/photos/image1.jpg" title="Utilize a flexibilidade dos seletores da jQuery e crie um grupo de imagens como desejar. $('#gallery').lightBox();">
                        [
    img]MasterPages/photos/thumb_image1.jpg[/img]
                    </
    a
    Ipotizzando di mettere in un repeater la parte qui sopra


    come posso generare X differenti[*] per ogni file presente in una cartella specifica?


    Quindi dal CodeBehid mi genero il path delle cartella che mi interessa

    trovata la cartella devo dare in pasto al repeater tutte le immagini presenti in quella cartella

    Grazie infinite!!

  9. #9
    Utente di HTML.it L'avatar di rsdpzed
    Registrato dal
    Aug 2001
    Messaggi
    764
    E' molto simile a quello che ti avevo gia postato, solo che ora dobbiamo dare anche il percorso della miniatura:

    codice:
    <asp:Repeater ID="Repeater1" runat="server" EnableViewState="false">
    <ItemTemplate>[*]
                            <asp:HyperLink ID="HyperLink1" runat="server" EnableViewState="false" NavigateUrl='<%# Eval("ImagePath") %>' >
                                <asp:Image ID="Image1" runat="server" EnableViewState="false" ImageUrl='<%# Eval("ThumbPath") %>' />
                            </asp:HyperLink>
                        </ItemTemplate>
        
    </asp:repeater>
    Visto che ci sono due immagini (la thumb e l'immagine 100%) ho cambiato anche la struttura dati e come si evince gia dal codice sopra, al repeater verra passata una lista di oggetti che contengono due proprieta invece che la sola stringa.

    codice:
    //questa classe potresti anche definirla in un file a parte e poi aggiungere il riferimento al namespace nel webconfig
    public class Percorsi
    {
        public string ImagePath {get;set;}
        public string ThumbPath {get;set;}
    }
    
    protected void Page_Load(object sender, EventArgs e)
        {
                        List<Percorsi> percorsi = recuperaPathDaCartella(cartella);
                        Repeater1.DataSource = percorsi;
                        Repeater1.DataBind();
        }
    
    //Questa la scrivo al volo, gestione eccezioni e finezze le lascio a te, ricordati di aggiungere using System.IO in alto
    private List<Percorsi> recuperaPathDaCartella(string cartella)
    {
        string folderImg = Path.Combine(cartella,"img");
        string folderThumb = Path.Combine(cartella,"thumb");
    
        string[] files = Directory.GetFiles(Server.MapPath(folderImg));
        List<Percorsi> percorsi = new List<Percorsi>();
    
        foreach(string file in files)
        {
            string filename = Path.GetFileName(file);
      
            Percorsi percorso = new Percorso();
            percorso.ImagePath = Path.Combine(folderImg, filename);
            percorso.ThumbPath = Path.Combine(folderThumb, "thumb_"+filename);
            percorsi.Add(percorso);
          
        }
        return percorsi;
    }
    Per una questione di ordine ho ipotizzato che nella cartella non ci siano direttamente le immagini ma ci siano altre due cartelle: Img e Thumb nelle quali ci sono le immagini e le relative miniature.

    Il nome della cartella non metterlo relativo ma dagli il percorso a partire da "/" per esempio "/Imges/Foto/" invece che "Images/foto" o di "../Images/foto". Non è proprio corretto ma funziona lo stesso e a volte evita fastidi quando lo stesso codice lo usi in pagine che si trovano in cartelle diverse


    Prendi tutto come se fosse pseudocodice perche non l'ho scritto in visualstudio e potrebbero esserci diversi errori. Come vedi è molto simile a cio che avevo gia postato, tranne alcune piccolezze dovute al fatto che qui ora vogliamo gestire due immagini.

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072
    Prima di tutto grazie infinite per l'aiuto!!

    Sono sempre più vicina alla soluzione ;-)) Ho sistemato qualche errorino di battitura nella tua funziona ma ora sembra essere OK.


    Solo un problema


    mi sono creato una variabile cartella da passare alla tua funzione recuperaPathDaCartella

    codice:
        
    
    if (!this.Page.IsPostBack)
            {
                string cartella = "//MasterPages//photos//";
                List<Percorsi> percorsi = recuperaPathDaCartella(cartella);
                Repeater1.DataSource = percorsi;
                Repeater1.DataBind();
    
                LoadParameters();
                LoadDetail(id);
    ma ottengo

    Impossibile mappare il percorso '/MasterPages/photos/'.


    L'errore si verifica in questa posizione:

    string[] files = Directory.GetFiles(Server.MapPath(cartella));

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.