Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 17 su 17
  1. #11
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,886
    comunque, la sintassi per il check del valore in un repeater per l'URL e l'AlternateText di un'ImageButton negli items, è questa (ci vogliono gli apici singoli)


    codice:
    <ItemTemplate>
    
     <asp:ImageButton runat="server" ID="img" AlternateText='<%# CheckValueTitolo(Convert.ToString(DataBinder.Eval(Container.DataItem, "Titolo"))) %>' ImageUrl='<%# CheckValueURL(Convert.ToString(DataBinder.Eval(Container.DataItem, "Immagine1"))) %>' />
    
    </ItemTemplate>



    Lato server (adattala tu):
    codice:
    // URL
    public string CheckValueURL(string val)
    {
        if (!String.IsNullOrEmpty(val))
        {
            return @"http://www.sito.it/" + val;
        }
        else
        {
            return String.Empty ;
        }
    }
    
    
    // TITOLO
    public string CheckValueTitolo(string val)
    {
        if (!String.IsNullOrEmpty(val))
        {
            return val;
        }
        else
        {
            return String.Empty ;
        }
    }


    ma credo che se vuoi far apparire l'immagine soltanto se il Path non è vuoto, devi agire dall'evento ItemDataBound del repeater, facendo un

    codice:
    protected void rpt_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {    
        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
        {
            if (....) // path immagine non e' vuoto
            {
                ((ImageButton)e.Item.FindControl("img"))..Visible = False;    
            }
        }
    }

    o qualcosa del genere, non ho provato (e non ricordo bene come prendere il valore, è qualcosa tipo e.Item.DataItem)
    Ultima modifica di djciko; 07-04-2019 a 15:33

  2. #12
    ciao!

    nel frattempo ho trovato un'altra soluzione, sicuramente non elegante.
    ma funziona.
    appena posso la pubblico.

    il problema, cmq, è che non dovevo nascondere l'immagine.
    ma prorpio il tag <li>.
    se nascondevo solo l'immagine, cmq la galleria caricava un <li> vuoto.

    cmq grazie mille, appena posso provo a sistemare adattando il tuo codice.
    per ora, nella fretta, ho adottato la mia che cmq ha funzionato!

  3. #13

  4. #14
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,857
    scusa ma se metti tutto il <li> come testo di un literal e imposti la visible del literal così
    codice:
    visible='<%#(Eval("Immagine2")<>"")%>'
    ???
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  5. #15
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,857
    addirittura nel repeater potresti mettere un id al <li> e dichiararlo runat="server" aggiungendogli lì la visible...
    codice:
    <asp:Repeater ID="RepeaterDtl" runat="server">
        <ItemTemplate>
            <li runat="server" id="myli" visible='<%# (Eval("Immagine2") <> "") %>'>
                <img src='/NEWS/<%#Eval("Immagine2") %>' alt='<%#Eval("Titolo") %>'>
            </li>
        </ItemTemplate>
    </asp:Repeater>
    non l'ho provato ma secondo me così funziona
    Ultima modifica di supermac; 10-04-2019 a 18:08
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  6. #16
    ciao!

    con l'id di <li> avevo provato.
    ma non so perchè spariva per "colpa" dello script della galleria.

    cmq appena posso provo anche questa soluzione!

  7. #17
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,857
    non solo l'id, anche runat=server!
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

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 © 2024 vBulletin Solutions, Inc. All rights reserved.