Problema con JS callback

mercoledì 25 maggio 2011 - 15.21
Tag Elenco Tags  C#  |  .NET 2.0  |  Windows XP  |  Visual Studio 2005  |  SQL Server 2000  |  Internet explorer 8.0  |  Javascript

zenx Profilo | Newbie

Buongiorno a tutti ho i seguente problema da risolvere
ho una pagina ASPX che contiene una applet Java la quale mi permette di fare upload di oggetti (es: fotografie) facendo un semplice Drag'n'Drop della foto dentro l'applet stessa.
Nel momento in cui eseguo il Drag'n'Drop , viene chiamato il metodo OnLoad della pagina ASPX ma non viene fatto il postback della pagina.
Ecco..il problema : dovrei leggere un valore di un webcontrol ASP.net ( nello specifico un dropdownlist) presente dentro questa pagina durante l'evento Onload appunto, e passare il valore del dropdown ad un metodo C# lato server

La funzione JS lato client
che legge il valore dal controllo è
la seguente:
function checkvalue()
{
var val = $('#DropDown1').val();
}
Come faccio a passare il valore di val ad un metodo c#??



Credo che si debba implementare un callback asincrona, ma concretamente non riesco
Se qualcuno mi puo dare un suggerimento , ringrazio anticipatamente
G.Z

alx_81 Profilo | Guru

>Credo che si debba implementare un callback asincrona, ma concretamente non riesco
sì, devi seguire la tecnologia AJAX. Se vuoi provare ad usare jQuery, esiste un metodo $post che ti fa la chiamata a server:
http://api.jquery.com/jQuery.post/

con esso, includendo la libreria core del jQuery framework, sarà molto semplice gestire chiamate verso il server e gestire anche le callback eventuali..

>Se qualcuno mi puo dare un suggerimento , ringrazio anticipatamente
di nulla!
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

Brainkiller Profilo | Guru

>Credo che si debba implementare un callback asincrona, ma concretamente
>non riesco
>Se qualcuno mi puo dare un suggerimento , ringrazio anticipatamente

Dipende che stack Javascript usi.
Se usi quello Microsoft, puoi usare i PageMethods ben spiegati qui:
http://www.singingeels.com/Articles/Using_Page_Methods_in_ASPNET_AJAX.aspx

Se usi quello jQuery come dice Ale puoi usare una funzione di questo tipo:

$.ajax({ type: "GET", url: "endpoint.aspx", data: 'stats=3', success: function (msg) { } });

in modalità POST o GET è uguale.
endpoint.aspx è la pagina .NET che viene chiamata.
data sono i parametri, in questo caso passo stats valore 3
la chiamata è asincrona quando ritorna viene chiamato ciò che è contentuto dopo success
e msg contiene la risposta della pagina (se fai Response.Write("Ciao") otterai dentro msg la parola Ciao)
Nella pagina endpoint.aspx puoi fare una Request["stats"] e riceverai il valore passato cioè 3
Ciao

David De Giacomi | <empty>
http://blogs.dotnethell.it/david/

zenx Profilo | Newbie

Ci provo.
Grazie infinite!

zenx Profilo | Newbie

Grazie infinite!! ci proverò
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5