Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,584

    [asp.net 2.0] immagine nella master page

    salve a tutti
    nella master page ho un'immagine centrate (etichetta dell'azienda)
    questa master page è posta nella root del sito web, quindi creando un'altra pagina e salvandola in una directory inferiore:"pag.aspx" (facendo riferimento a questa master page)
    unavotl aavviata la pagina "pag.aspx" nella masterPage sparisce lìimmagine!!!!

    ho provato a vedere il codice html e infatti cerca di valorizzare l'immagine andando a prenderla da "img/titolo.jpeg",infatti la pagina in cui ho avviato non si trova in una sottodirectory da cui non esiste la directory img,

    cosa posso fare?
    devo, ogni volta che creo una sottodirectory copiare sempre la cartella img?
    oppure esiste un modo piu' semplice in modo che la masterpage punti sepre nella cartella "img" della directory superiore?

    grazie
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

  2. #2
    prova mettendo runat="server" al tag dell'immagine nella master page
    no pain no gain!

    ricordati che hai dei limiti...

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    204
    Quando più pagine utilizzano lo stesso controllo utente web o MasterPage
    e si trovano in cartelle (directory) diverse, gli URL che funzionano con una
    pagina non possono funzionare con un'altra. Esempio pratico:

    Una pagina che si trova nella root dell'applicazione (cartella principale), la
    visualizzazione del logo della società richiede:
    [img]images/logo.gif[/img]
    Una pagina che si trova, invece, in una sottocartella dell'applicazione, la
    visualizzazione dello stesso logo richiede:
    [img]../images/logo.gif[/img]

    Segue che: ciò che va bene per una pagina poi non va bene per le altre !

    Per risolvere il tutto basta seguire questa procedura:

    Inserisci un "controllo standard image" la cui proprietà ImageUrl può essere
    settata utilizzando il pulsante con i puntini di sospensione (cliccando su questo
    pulsante è possibile andare a scegliere l'immagine che si desidera).
    Il risultato, a livello codice sarà:.

    <asp:Image ID="Image1" runat="server" ImageUrl="~/images/logo.gif" />

    Quando questi controlli vengono eseguiti da ASP.NET il carattere TILDE (~)
    viene sostituito con il percorso per la radice dell'applicazione.

    Tutto questo vale sia per le immagini che per i link (rispettivamente [img][/img]
    e <a href="" . . . . .>)

    La stessa procedura vale sia all'interno delle MasterPage che nei controlli utente web !


    Spero di esserti stato utile.

    RobyUA
    Ho bisogno di ferie !!!

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480
    Io adotto un sistema differente: faccio precedere al percorso dell'immagine una porzione di codice che restituisca il percorso effettivo dell'applicazione.

    codice:
    [img]<%= Request.ApplicationPath %>img/filename.ext[/img]
    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,584
    ehi è vero! funziona
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

  6. #6
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,584
    ora solo un'ultimo dubbio riguardo le master page

    altra difficilta' è fare il redirect

    come da consiglio di alka che usa :"Request.ApplicationPath", mi sembra un po' obsoleto in quanto dovrei fare un select case per tutte le sottodirectory in cui mi trovo per puntare alla pagina di benvenuto
    ed anche mettendo il tild "~" concatenato alla pagina non risove il problema ,in quanto dopo mi riporta page not found...infatti punta a questa pagina:
    "servizi/Servizi/Traduzioni/~default.aspx"


    nei link funzionano tranquillamente mettendo il tild,mentre se faccio un restpons.redirect con il tild fa casino


    come posso fare?
    grazie
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

  7. #7
    ma tu non parlavi di problemi con le immagini?!?

    e comunque la tilde va messa prima di ogni cosa. rappresenta la directory root della tua web application!
    no pain no gain!

    ricordati che hai dei limiti...

  8. #8
    Utente di HTML.it L'avatar di Kahm
    Registrato dal
    Dec 2004
    residenza
    Rome
    Messaggi
    3,584
    Originariamente inviato da nogovoia
    ma tu non parlavi di problemi con le immagini?!?

    e comunque la tilde va messa prima di ogni cosa. rappresenta la directory root della tua web application!
    il problema ora è fare response.redirect("~pagina.aspx")
    in quanto il tild da fastidio,,vedi pots sopra per vedere dove punta
    NN vi diro mai chi sono in realta,
    tutti i miei 3D sono orfani, non insistete per farmi rispondere ai 3D aperti da me

  9. #9
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480
    Originariamente inviato da Kahm
    il problema ora è fare response.redirect("~pagina.aspx")
    in quanto il tild da fastidio,,vedi pots sopra per vedere dove punta
    Secondo me, manca semplicemente uno "slash".

    codice:
    Response.Redirect("~/pagina.aspx")
    Response.Redirect("~/subdir/pagina.aspx")
    Puoi usare comunque Request.ApplicationPath anche in questo caso.

    In generale, farei comunque attenzione ad introdurre funzionalità nelle "master page" che non siano strettamente legate al layout, poiché questo non è il loro scopo: per dotare più pagine delle stesse caratteristiche, è meglio sfruttare l'OOP e introdurre una classe base per tali pagine che saranno, appunto, classi discendenti ed "eredi" della classe base.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    204
    Originariamente inviato da Kahm
    ora solo un'ultimo dubbio riguardo le master page

    altra difficilta' è fare il redirect

    come da consiglio di alka che usa :"Request.ApplicationPath", mi sembra un po' obsoleto in quanto dovrei fare un select case per tutte le sottodirectory in cui mi trovo per puntare alla pagina di benvenuto
    ed anche mettendo il tild "~" concatenato alla pagina non risove il problema ,in quanto dopo mi riporta page not found...infatti punta a questa pagina:
    "servizi/Servizi/Traduzioni/~default.aspx"


    nei link funzionano tranquillamente mettendo il tild,mentre se faccio un restpons.redirect con il tild fa casino


    come posso fare?
    grazie
    Premetto che non ho capito molto da quello che hai scritto ! ! !
    ma facendo un po di prove il metodo che utilizza la Tilde che ti ho descritto
    applicato al Redirect funziona che è una meraviglia !

    Esempio prove che ho fatto:

    Ho inserito questo codice in una MasterPage, la MasterPage viene utilizzata da
    due pagine diverse che sitrovano in posizioni diverse rispetto alla root ed in
    entrambe avviene la Redirect alla pagina Default.aspx che ho nella cartella
    Traduzioni.

    protected void Page_Load(object sender, EventArgs e)
    {
    Response.Redirect("~/Traduzioni/ Default.aspx");
    }

    RobyUA
    Bye bye !
    Ho bisogno di ferie !!!

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.