Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Utente di HTML.it L'avatar di diablobox
    Registrato dal
    Feb 2001
    residenza
    Pisa
    Messaggi
    1,154

    include file e variabile

    Salve
    volevo sapere se con ASP sia possibile gestire un include file per mezzo di una variabile.

    qualcosa del tipo:


    volevo fare in modo di caricare un menu in base a delle opzioni e la stringa menu_alto contiene il link al menu.

    non vorrei avere fatto qualche cappellata io, ma mi pare che così non funzioni.

    Ho provato anche con <%=menu_alto%>..

    qualcuno sa dirmi??

    ciao

    grazie

  2. #2
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    Non si può nel tuo modo.
    Esempio
    codice:
    <% 
    Select case menu_alto
      case 1
    %>
      
    <%
      case 2
    %>
      
    <%
    End Select
    %>
    nel caso tu voglia utilizzare variabli globali anche nei file inclusi.
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

  3. #3
    Utente di HTML.it L'avatar di diablobox
    Registrato dal
    Feb 2001
    residenza
    Pisa
    Messaggi
    1,154

    include file e variabili

    avevo pensato anche a farlo cosi..

    se non si può fare nella maniera che dicevo io..

    comunque ti ringrazio

    ciao

  4. #4
    Utente di HTML.it L'avatar di Baol74
    Registrato dal
    Jul 2002
    Messaggi
    2,004
    In realtà ci sono diversi modi di includere i files dinamicamente.

    La tecnica del select case è la meno flessibile e la più lenta dal pnto di vista dell'esecuzione (tutti i files vengono comunque inclusi e possono generare errori se negli include ci fossero classi o funzioni)

    L'altra tecnica è utilizzare Server.Execute(NomePagina) o Server.Transfer(NomePagina) che sono utili per eseguire codice indipendente dalla pagina chiamante ed in generale per includere pagine html che funzionano da template.

    L'ultima tecnica è l'utilizzo delle funzioni ExecuteGlobal, Execute combinate con fso e tecniche di parsing. La vera inclusione dinamica è questa (seppur più lenta rispetto a Server.Execute).

  5. #5
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    ha ragione Baol, però in quel modo le variabili globali non saranno valide nei files inclusi
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

  6. #6
    Utente di HTML.it L'avatar di Baol74
    Registrato dal
    Jul 2002
    Messaggi
    2,004
    In quale modo dei tre?

  7. #7
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    con Server.Execute(NomePagina).
    Gli altri non mi è capitato di usarli. Per quanto riguarda quello che ho proposto io, ti do' ragione sulle prestazioni, ma nella convivenza con file inclusi che comprendo procedure, direi che conta molto il modo in cui viene strutturato il tutto.
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

  8. #8
    Utente di HTML.it L'avatar di Baol74
    Registrato dal
    Jul 2002
    Messaggi
    2,004
    Concordo.

    Infatti la 3 soluzione è , come dicevo , la vera inclusione dinamica.
    Ovvero esecuzione delle variabili nello stesso contesto di memoria e dinamicità del nome file chiamato

    www.aspxnet.it/public/files/download/include.zip

  9. #9
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    Stavo giusto mandando questa...>>>

    Visto che volevo approfondire l'argomento di una cosa che ancora non avevo preso in considerazione.... volevo dire se questo è esatto, nel senso che essendo eseguito in un contesto globale, variabili, costanti e procedure saranno disponibile globalmente (appunto!):

    codice:
    Function Include(fileName)
        Dim strText
        Set fso = CreateObject("Scripting.FileSystemObject")
        Set f = fso.OpenTextFile(fileName)
        strText = f.ReadAll()
        f.Close
        ExecuteGlobal strText
    End Function
     
    
    Include("specFolders.vbs")
    ' codice VBScript di sopra
    
    '//////////////
    Function Include(fileName)
        :
    End Function
    Dovrebbe andare? se così dovrò subito trovare l'occasione di applicarlo.


    Grazie baol!
    Risorsa: http://online.infomedia.it/riviste/c...4/articolo.htm
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

  10. #10
    Utente di HTML.it L'avatar di Baol74
    Registrato dal
    Jul 2002
    Messaggi
    2,004
    Si, l'idea di partenza è proprio quella, potresti aggiungere un replace:
    codice:
    Function Include(fileName)
        Dim strText
        Set fso = CreateObject("Scripting.FileSystemObject")
        Set f = fso.OpenTextFile(fileName)
        strText = f.ReadAll()
        strText = Replace(strText,"<" & "%","")
        strText = Replace(strText,"%" & ">","")
        f.Close
        ExecuteGlobal strText
    End Function
    
    Include("Pagina.asp")
    Naturalmente funziona solo con codice asp.

    Dai un'occhiata alla classe che ho linkato.

    Con quella puoi anche includere pagine asp e html e processa gli include interni alla pagina

    E con un po' di fantasia puoi anche arrivare a creare nuove direttive, per esempio è supportato include url

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.