Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    2

    richiamare immagini gif

    Salve raga,
    ho creato un menu dinamico con l'oggetto Repeater,

    la struttura del DB è questa:

    ID menu immagine
    -------------------------------
    1 | home | /home.gif
    2 | download | /download.gif
    3 | links | /links.gif
    4 | email | /email.gif
    -------------------------------

    e utilizzo l'oggetto repeater che richiama la colonna menu e fino qui va tutto bene!!

    Però vorrei anche richiamare la colonna gif in modo tale da affiancare anche la gif al testo menu.

    Codice dell'oggetto Repeater

    <asp:repeater ID="rptMenu" runat="server">
    <itemtemplate>
    <a href="#">
    <%# Container.DataItem ( "menu" ) %>
    <%# Container.DataItem ( "immagine" ) %>
    </a>
    </itemtemplate>
    </asp:repeater>

    Mi da il seguente errore:
    Descrizione: Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere l'analisi dello stack.

    Dettagli eccezione: System.IndexOutOfRangeException: immagine

    Secondo voi, sbaglio qualcosa??
    Ho letto in altri post che per richiamare le immagini è meglio utilizzare un datalist???

    E' vero??

    Grazie 1000, daw78

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    1,482
    Non è che nella query ti sei domenticato di aggiungere il campo immagine?

    Hey hey, my my Rock and roll can never die!

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    2
    zampa28,
    avevi una santa ragione!!
    Ho controllato tutto e funziona alla grande!!

    Però ho un altro esempio che mi funziona bene, tranne un piccolo inconveniente, quando la casella che non contiene il collegamento all'immagine mi viene visualizzata una X rossa!!

    Per non farla visualizzare questa X rossa,
    utilizzo un'istruzione IF...Then che interroga la tabella tab_immagini e verifica se la casella contiene il collegamento all'immagine viene visualizzata, altrimenti non viene visualizzata.

    tab_immagini
    ID|immagine
    ------
    1|home.gif
    2|contatti.gif
    3|download.gif
    4|links.gif
    5|articoli.gif
    6|email.gif
    7|qui la casella rimane bianca (vuota)

    codice aspx:
    <%
    Dim strImageURL as String
    strImageURL = <% DataBinder.Eval(Container.DataItem, "immagine") %>

    'se la casella contiene un testo visualizza l'immagine altrimenti
    'non visualizza l'immagine
    if (strImageURL) > 0 Then
    %>

    [img]<%# DataBinder.Eval(Container.DataItem, [/img]" runat="server" />

    <% End If %>

    </itemtemplate>
    </asp:Repeater>

    Sono sicurissimo che ho sbagliato, ma no so precisamente
    dove!! :tongue:

    Scusami se ho scritto troppo, è perchè sono alle prime armi!
    Grazie tantissimo! daw78

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    1,482
    codice:
    if (strImageURL) <> "" Then
    attenzione però, se il campo del db è nullo potrebbe crearti errore in fase di cast, ovvero quando fai:
    codice:
     
    Dim strImageURL as String 
    strImageURL = <% DataBinder.Eval(Container.DataItem, "immagine")
    Altra cosa, ti do un consiglio personale. Cerca di usare il meno possibile codice di programmazione nella parte html.


    Hey hey, my my Rock and roll can never die!

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.