Newsgroup: it.comp.www.asp
Titolo: Come sapere su una pagina gira come INCLUDE?

Ciao a tutti,
Ammettiamo di avere una pagina MIAPAGINA.ASP che contiene del codice ASP e
manda in output una pagina HTML completa. Questa pagina, però, può essere
inclusa in altre pagine ASP (tramite la direttiva INCLUDE) e in questo caso
deve sempre elaborare del codice ASP ma non deve restituire tutto il codice
HTML, in quanto ci pensa già la pagina chiamante (quella che la include).
Come è possibile sapere se una pagina .asp sta girando in modo "autonomo"
oppure come include di un'altra pagina asp? L'unico modo che ho trovato
finora è quello di una variabile ma, se possibile, vorrei evitare l'uso di
una variabile aggiuntiva.
Grazie,
Andrea

 oppure come include di un'altra pagina asp?
Mica si è capito cosa intendi!
Ma queste pagine da includere... si trovano sul tuo sito o riguarda
siti altrui???
Nel primo caso... come fai a non sapere se una pagina la utilizzi
in un include oppure no???
;-)
Nixs

 in un include oppure no???
Intendeva dire che è una pagina che lavora in due modalità: indipendente e
inclusa dentro altre in determinate circostanze.
La soluzione della variabile è un sistema abbastanza veloce anche se non
tanto pulito ma non mi risulta un modo per determinare se la pagina è
inclusa o meno:
una buona idea sarebbe quella di includerla sempre cosi tagli la testa al
toro e per essere sicuri che non venga richiamata mai in modo autonomo gli
cambi l'estensione in .INC.
Gianni

 ;-)
E' la pagina che deve "accorgersi" se sta girando come include o no. Lo
scenario di esempio: abbiamo una pagina CALCOLANUMERO.ASP che restituisce in
output un numero, oltre al normale codice HTML (html, body, etc). Però
questa pagina è possibile includerla anche in altre pagine .asp, quindi
dovrebbe restituire in output solo un numero, SENZA codice HTML. In
conclusione, dato che CALCOLANUMERO.ASP può essere sia inclusa sia non
inclusa in altre pagine, all'interno di tale pagina devo prevedere una
logica che capisca se mandare in output anche l'intestazione HTML o no.
Se uso una variabile prima dell'include (e poi la leggo da dentro la pagina)
tutto si risolve, ma vorrei evitare l'uso di variabili aggiuntive.
Ciao,
Andrea

 ha scritto nel messaggio
news:kz9ra.21620$K35.7...@news2.tin.it...


 cambi l'estensione in .INC.
Purtroppo non posso, perché la "doppia modalità" deve proprio essere una
caratteristica di questa pagina. E questa pagina non ha neanche un nome
fisso (può cambiare il nome del file), altrimenti avevo trovato una
soluzione (se avesse avuto un nome fisso, bastava leggere tramite
SERVERVARIABLES il nome della pagina e confrontarlo con il nome fisso: se
era uguale, allora era stata chiamata direttamente, se diverso allora stava
girando come include).
Grazie,
Andrea

dovrebbe restituire in output solo un numero, SENZA codice HTML.
....perchè nelle altre pagine ASP utilizzo la stessa funzione!
:-))
Nixs

 vuoi utilizzarla ed è fatta.
Ciao nixs,
è vero, potrei fare così se la pagina dovesse essere utilizzata solo da me,
ma questa pagina deve essere venduta e utilizzata anche da persone non
esperte di .ASP. Il target di questi utenti è medio-basso, cioè utenti che
sanno creare pagine HTML statiche, ma non sanno programmare .ASP. Quindi non
posso dire loro: "Guardate, ho realizzato questa funzione, dovete includere
i tal dei tali files, scrivere un paio di righe asp e il gioco è fatto". Ho
bisogno di qualcosa di molto più semplice, dove loro copiano solo una riga e
possono inserire il mio codice nelle loro pagine. Oppure possono usare
direttamente la mia pagina. Ecco il motivo per cui ho bisogno di avere un
unico file .asp che possa girare in entrambe la modalità. Mi sa che l'unica
soluzione è quella di dire loro di aggiungere una variabile (es. bIsIncluded
= True) prima dell'include.
Grazie,
Andrea

 unico file .asp che possa girare in entrambe la modalità.
Ma forse fai un po' di confusione...
Se il cliente lavora in HTML... può solo inserire l'HTML nella sua
pagina, quindi non può "includere" una pagina ASP, al massimo può
caricarla in un frame.
Se il cliente che deve usare i dati ha il sito sotto ASP allora qualcosa
capirà no (se non lui... chi glielo ha fatto!)?
Comunque... potresti fare una cosa:
Usare le ServerVariables, scopri se la richiesta arriva dal tuo server
o meno. Se arriva dal tuo server si comporta in un modo, se arriva
dall'esterno si comporta in un altro.
Se arriva dal tuo server allora includi un header per le intestazioni HTML,
mentre se arriva dall'esterno viene passato solo il codice che serve.
Naturalmente do' per scontato che all'esterno, il sito del cliente giri
sotto
ASP!
E' la prima cosa che mi è venuta in mente... qualcuno dovrebbe confermare
la fattibilità della cosa.
Ciao
Nixs

 dall'esterno si comporta in un altro.
Grazie per i suggerimenti. Purtroppo non è fattibile perché sia la pagina
ASP sia l'INCLUDE gireranno sul sito dei clienti, sul mio sito non girerà
nulla.
Tra l'altro non so se posso fare un'include di un file di un altro sito! :-)
Ciao,
Andrea

 nulla.
Beh... a questo punto butto la spugna... continui ad essere poco chiaro
e io non riesco a immaginare la situazione, e senza avere l'idea precisa di
come vuoi far funzionare la cosa non riesco a vedere la soluzione.
Ciao
Nixs