10 messaggi dal 23 gennaio 2004
salve, sono alle prime armi con asp, tanta volontà e tanta fiducia in questo forum. il problema è il seguente.
Sto costruendo un layout di sito a tre colonne. Usando un'unica pagina vorrei fare aprire tutti i contenuti nella zona centrale. Sto usando gli include con il seguente codice asp: <% Select Case id %>
<% Case "pagina" %>
<!--#include file="incfiles/pagina.asp" -->
<% Case "pagina2" %>
<!--#include file="pagina2.asp" -->
<% End Select %>

usando per i link questo codice: <a href="default.asp?ID=pagina"> pagina</a>

Il tutto funziona perfettamente, ma ecco il problema. Al momento di caricare la pagina di default, questa deve avere un suo contenuto da visualizzare all'apertura del sito. Solo che quando successivamente vado a cliccare su i link, i file di include si aprono ma il contenuto della default rimane, aggiungendosi ai contenuti richiamati dai link.
Che si fa??? Aiuto, sono semplicemente dipsperato!
Grazie anticipatamente, spero di essere stato chiaro.
11.886 messaggi dal 09 febbraio 2002
Contributi
no, aspe, hai sbagliato approccio (secondo me).
Te lo dico perchè anche io avevo fatto così ma non è tanto funzionale.

Allora, innanzitutto, se vuoi fare degli include dinamici (cioè includere questo o quel file a seconda dei parametri passati alla pagina), devi usare il Server.Execute, non gli <!--#include.

L'include fatto in quel modo è una direttiva affidata al preprocessore che SUBITO assembla la pagina e POI la da in elaborazione all'interprete asp. Questo significa che non viene affatto considerato il codice che hai nella pagina, gli include verranno tutti eseguiti.
Devi usare piuttosto un'inclusione fatta col server.Execute.
E' un comando asp, per cui lo puoi gestire come vuoi, ad esempio mettendolo in un select case come hai fatto tu.
<%
Case "pagina"
Server.Execute("incfiles/pagina.asp")
Case "pagina2"
Server.Execute("incfiles/pagina2.asp")
End Select
%>

Comunque, il brutto di questo è che per accedere alla pagina delle informazioni (per esempio) devi scrivere:
http://www.tuosito.it/default.asp?id=informazioni
Esteticamente potrebbe anche essere accettabile, ma hai una limitazione da considerare... Con il server.Execute non puoi passare variabili asp da default.asp alla pagina inclusa.
Cioè... default.asp e informazioni.asp vengono eseguite come fossero pagine distinte, non possono condividere dati se non attraverso le Session.

Ti conviene invece rivedere la struttura, poi leggi questo:
http://forum.aspitalia.com/forum/topic.aspx?PostID=197806
Vedi se può esserti d'aiuto... io ti ho dato la mia visione, non è detto che sia quella più giusta o che non ci siano altre strade percorribili. Fai tu, ciao :)

Enjoy learning and just keep making
10 messaggi dal 23 gennaio 2004
ti ringrazio. Si, meglio cambiare la struttura in questo modo. Ciao

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.