151 messaggi dal 29 luglio 2010
Ciao, ho un quesito da porvi:
in pratica devo importare una pagina aspx dentro un altra pagina usando la import che cambia in base ad un valore che mi passo con la querystring con questo codice:

<!--#include file="import/<% Request.QueryString('codice') %>.aspx" -->

Il problema è che mi da errore. Dove sbaglio? Al posto di "codice" cosa ci devo mettere?
Grazie dell'aiuto
11.886 messaggi dal 09 febbraio 2002
Contributi
ciao, non è possibile utilizzare dei parametri nella direttiva include. Non era possibile neanche in asp classico perché questa è una direttiva per il preprocessore: viene analizzata ancora prima che la pagina inizi il suo ciclo di vita e perciò la collezione Request.QueryString non può essere utilizzata lì.

L'alternativa che più si avvicina a quello è il metodo Server.Execute, a cui puoi passare il percorso di pagina da eseguire.

Qui trovi un esempio di codice:
http://www.asp101.com/samples/utils/source.aspx?file=server_execute.aspx

Tuttavia, dovresti abbandonare questo metodo, che è una reminiscenza dell'asp classico, in favore degli user controls.
Puoi caricare uno user control dinamicamente, grazie al metodo Page.LoadControl. Qui c'è un esempio:
http://www.aspitalia.com/script/481/Aggiungere-User-Control-LoadControl.aspx
Uno user control si va ad inserire nel ciclo di vita della pagina principale ed è facile scambiare dati con esso.

ciao,
Modificato da BrightSoul il 24 novembre 2011 23.30 -

Enjoy learning and just keep making

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.