Freeteo


Pensieri e C#dice di Matteo Raumer
Home Blogs | Home | Login | Contact | My Profile | RSS | About | Cerca

codice asp.net dentro javascript

Colgo l'occasione di aver risposto ad un post sul forum per segnalare una cosetta veramente simpatica di asp.net, ovvero la possibilita' di scrivere codice "lato server" dentro a qualche funzione javascript.Tipicamente capita di dover interagire con le pagine via funzioni javascript, ma se le pagine sono generate con asp.net il nome dei controlli viene assegnato in modo automatico dal runtime.Come fare allora per scrivere codice javascript che acceda a controlli creati "dopo" ? Beh si  
Leggi tutto il post...
Categoria: Tips
mercoledì, 11 ott 2006 Ore. 21.29

Scrivi un commento

Nome:
Blog:
E-Mail:
(l'indirizzo e-mail non verrà pubblicato, consente di essere avvertiti quando arrivano nuovi commenti a questo Post)
Codice:
Corpo:
Cookie:

Commenti

Autore: mykenta.blogspot.comInviato il: 15 nov 2006 - 09.59
...ma se il javascript e' esterno non funziona,
l'unico modo che ho trovato e' quello di creare una var globale che contiene l'id prima di richiamare lo script esterno.

Autore: - Non disponibile -
Inviato il: 19 nov 2006 - 15.31
Il testo di questo commento è stato oscurato.
Autore: Matteo RaumerInviato il: 19 nov 2006 - 15.37
ciao, e scusami del ritardo nella risposta.
Se usi un file js esterno alla pagina, quando elabora la pagina il runtime di asp.net non va a sostituire il valore con quello che pensi, perche' non è elaborato lato server il file js.
Quindi il tuo browser chiede quel file e dentro ovviamnte non sono fatte elaborazioni dal runtime di asp,net (quindi il framework).

Percio' l'unica cosa da fare agile, è usare metodi js ai quali passi il valore mentre viene generata la pagina e quindi come dicevo prima, il runtime .net elabora quel valore.Nel caso del mio esempio banalissimo, sarebbe da modificare in questo modo:

PAGINA ASPX:
....
<script src="JScript.js"></script>
....

<div onclick="vai('');" >clicca</div>

e dentro il file js costruire il metodo che riceva il parametro:

function vai(testo)
{
window.alert(testo);
}


se lo provi fa lo stesso funzionamento, perche' come dicevo sopra, nella pagina viene fatta l'elaborazione lato server,e poi il nostro browser richiama il file js (lato client) gia corretto.
Ciao.

Autore: kentaromiuraInviato il: 11 dic 2006 - 11.11
guarda, per come scrivo io tendo a separare javascript dalla pagina xhtml.
ho trovato questo problema quando dovevo trasportare la mia applicazioni su directory virtuali,

mentre se crei uno script in questa maniera nell'aspx
<script type="text/javascript" src="<%=getVirtualPath() %>/flashHack/swfobject.js"><!--// (C) SWF Object //--></script>

non hai nessun problema, quando sei all'interno di uno script e devi far riferimento a dei file non puoi usare getVirtualPath direttamente, io ho risolto cosi':
<script type="text/javascript">
var AppPath="<%=getVirtualPath() %>";
</script>

e usando AppPath negli script successivi che sono esterni. Ciao.
Copyright © 2002-2007 - Blogs 2.0
dotNetHell.it | Home Page Blogs
ASP.NET 2.0 Windows 2003