Cambiamento testo su label

lunedì 12 ottobre 2009 - 10.20

sergio.mitrione Profilo | Junior Member

Ciao a tutti,
premetto che non sono molto pratico di ajax...
vorrei capire come posso, alla pressione di un pulsante o di un checkbox, fare uscire
un testo su una label e disabilitare alcuni controlli (esempio: disabilitare un datagrid o un pulsante).

Potreste aiutarmi per cortesia...

grazie a tutti

alx_81 Profilo | Guru

>Ciao a tutti,
Ciao

>premetto che non sono molto pratico di ajax...
>vorrei capire come posso, alla pressione di un pulsante o di
>un checkbox, fare uscire
>un testo su una label e disabilitare alcuni controlli (esempio:
>disabilitare un datagrid o un pulsante).
Puoi scaricarti la core di jQuery così puoi gestire gli eventi facilmente con javascript per poi abilitare/disabilitare ciò che ti serve in maniera molto semplice.
il sito è questo:
http://jQuery.com

la doc è qui
http://docs.jQuery.com

e tu dovrai usare l'evento click del tuo checkbox
http://docs.jquery.com/Events/click

per disabilitare o abilitare o mostrare o nascondere usando uno di questi metodi
http://docs.jquery.com/Attributes

>grazie a tutti
di nulla!

--

Alessandro Alpi | SQL Server MVP

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

Gluck74 Profilo | Guru

per quanto riguarda ajax, con asp.net puoi usare sia il semplicissimo UpdatePanel, sia la chiamata ad un PageMethod, o addiruttura utilizzare i WebMethod.

con gli updatepanel (simulazione di ajax), non fai altro che far rieseguire il codice della pagina, ma viene ridisegnata solo la prozione all'interno di questo pannello (esempio cambiare il testo ad una label, nascondere o disabilitare controlli nel pannello).

con PageMethod, viene creato in automatico uno "strumento" javascript capace di eseguire le funzioni scritte nel codice server che vengono esposte al client. in questo modo puoi far restituire dati o HTML. Una funzione javascript di callBack, che viene lanciata alla fine della chiamata ajax, fa le operazioni necessarie sul client (esempio cambiare il testo ad un input, nascondere controlli o porzioni di DOM)

con i webMethod, fai le stesse identiche cose del PageMethod, ma il codice lasto server non sta nella stessa pagina aspx, ma in un webService. Praticamente ti cambia poco, ma tecnicamente e concettualmente cambiano diverse cose, tra cui il fatto che devi poter disporre di webservice sul server.

a te la scelta.
ciao

alx_81 Profilo | Guru

>a te la scelta.
menomale che qualcuno sa usare i controlli forniti da Visual Studio
Grazie Gluck74, perchè io conosco solo jQuery e qualche altro framework, i controlli asp.net non li ho quasi mai usati.
saluti,
--

Alessandro Alpi | SQL Server MVP

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

sergio.mitrione Profilo | Junior Member

Grazie a tutti per la risposta...
avete per caso del codice di esempio dell'update panel?

grazie a tutti

Gluck74 Profilo | Guru

ciao alx_81,
ho notato in fatti che, anche nella stanza asp.net, rispondi sempre citando JQuery e soluzioni javascript.
Non che non siano valide, è che ci sono strumenti appositi per asp.net che potrebbero darti maggiore "potenza" e miglire produttività, compresa la possibilità di effettuare debug da visualstudio.

Tra l'altro le funzioni ajax di JQuery, ho notato che vanno benissimo con php e con il veccio asp, ma sono un po meno usabili con aspx, tranne il fatto che dovresti usare anche in questo caso i servizi web.

il problema nasce dal fatto che richiamando una pagina php, o asp, si puo fare un semlice

<% response.write("dati da inviare al client"); %>

ed equivalente in php
per dare un risultato,
mentre con le pagine aspx la cosa sarebbe MOLTO distorta poiché una pagina aspx è una vera e propria classe, ed i controlli contenuti "DEVONO" stare comunque dentro un "<form runat="server">"

insomma, si storpia il normale utilizzo.
tutto andrebbe bene appunto con un webService, ma tante volte noi sviluppatori non abbiamo poi questi servizi abilitati sul server che ci ospita.

in definitiva utilizzando gli strumenti ad hoc che ci mette a diposizione il framework, tanti di questi problemi non esistono più...

ciao ciao

alx_81 Profilo | Guru

>insomma, si storpia il normale utilizzo.
>in definitiva utilizzando gli strumenti ad hoc che ci mette a
>diposizione il framework, tanti di questi problemi non esistono
>più...
Non la vedo allo stesso modo, anche perchè riesco tranquillamente ad effettuare debug e non trovo tutte quelle difficoltà. Però questa non è la sede corretta per discutere di questo, avremo possibilità di farlo altrove . Grazie per l'apporto preziosissimo,
ciao!
--

Alessandro Alpi | SQL Server MVP

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

Gluck74 Profilo | Guru

l'update panel non ha praticamente bisogno di codice.
devi solo configurare la tua pagina aspx:

1 - metti uno scriptmanager appena aperto il form
2 - metti il tuo updatepanel nel punto in cui hai la label da aggiornare (e la deve contenere)
3 - per il pulsante che deve far aggiornare la label hai 2 opzioni:
a - è contiguo alla label e lo puoi contenere nello stesso updatepanel, non devi fare altro
b - è in un altro posto della pagina, devi aggiungere il tab <triggers> all'updatepanel (il completamento automatico ti aiuterà senza problemi)
4 - aggiungi al pulsante onClck="button_click" e relativa funzione lato server.
5 - fai le operazioni in questa funzione come se fosse una normale pagina.

il risultato è il seguente:
alla pressione del pulsante, parte il normale postBack della pagina, e vengono eseguite tutte le procedure in base al normale ciclo di vita della pagina(init, preload, load... ecc, ecc), (infatti l'utilizzo di updatePanel è solo una SIMULAZIONE di ajax), e viene eseguita quindi anche la routin associata al click del pulsante.
ora, grazie allo scriptmanager e all'updatepanel, viene rispedito al client solo la porzione di pagina contenuta nell'updatePanel, e sempre grazie allo scriptManager, ed in maniera trasparente sia per l'utente che per il programmatore, alcune funzioni javascript aggiornano la prorzione di pagina.

se c'è qualcosa che non torna fai un fischio.
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-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5