Bottoni

venerdì 11 luglio 2003 - 09.40

sp Profilo | Newbie

Ciao a tutti, con asp.net qual'e' il modo migliore per "capire" in una form con molteplici pulsanti quale di questi e' stato premuto in un blocco if (Page.IsPostback) ?
grazie
sp

Brainkiller Profilo | Guru

Ciao,
prova a guardare questo interessante documento:
http://www.kamp-hansen.dk/pages/showdoc.asp?id=28&menuid=21&menuid=18

C'è anche una demo funzionante in modo che così puoi capire se è proprio questo che stai cercando.
C'è un pulsante a centro pagina "Show Me" per vederlo in funzione.

Ciao
David De Giacomi

sp Profilo | Newbie

grazie, purtroppo la mia domanda era + terra terra:

io ho un blocco

if (Page.IsPostBack)
{
}

ora ammettiamo che la pagina sia stata postata cliccando su un pulsante (io ne ho 2, conferma e cancella per esempio)... Ora, quale dei due pulsanti ho premuto??? Non riesco a determirnarlo e non volevo usare l'evento on_click, e' possibile o e' meglio che io usi l'evento on_click?
Grazie ancora.
sp

Brainkiller Profilo | Guru

Direi che è necessario usare l'evento onclick.
Però se mi spieghi bene che cosa vuoi ottenere è meglio.
Il pulsante cancella cosa dovrebbe fare, cancellare dei campi di una form?
In questo caso ti conviene usare Javascript.
Se invece hai più pulsante su una form e magari servono per cancellare dei record su un database allora è meglio utilizzare un approccio di tipo diverso ancora basato su Javascript.

Ciao
David

sp Profilo | Newbie

first of all:
Perche' il tuo bel sito non si ricorda di me? Non usa i cokies? scadono dopo 1 ora? ;-)
Cmq ancora complimenti perche' e' davvero bello questo sito!

Tornando a bomba in topic...
Un approccio Js e' quello che eviterei tendenzialmente, preferisco soluzioni server side...
Ma ASP.net non capisce che bottone ho schiacciato?
supponi che ho 2 pulsanti, conferma che fa un update su DB e annulla che fa un response.redirect oppure fa una delete su DB, come capisco che bottone l'utonto ha premuto?
Grazie ancora del tempo che ci dedichi :-)
sp

Brainkiller Profilo | Guru

Ciao,
senti purtroppo se non vuoi usare l'evento onclick server side e nanche un javascript c'è poco da fare.
Io direi allora usa l'evento onclick server side. Costruisci n bottoni e poi li leghi tutti alla stessa funzione che gestisce l'evento onclick, all'interno di InitializeComponents() in questo modo:

this.button1.Click += new System.EventHandler(this.button1_Click);
this.button2.Click += new System.EventHandler(this.button1_Click);

e poi nella funzione che gestisce il click puoi scrivere:

private void button1_Click(object sender, System.EventArgs e)
{
Button a=(Button)sender;
Console.WriteLine(a.Name);
}

Questa cosa in base al pulsante premuto ti stampa il suo nome cioè button1 oppure button2.
Immagino sia questo che desideri, poi con un if puoi deviare il flusso e fargli fare due cose diverse.

Riguardo i cookies, che problemi hai? Neanche con "Memorizza Accesso" hai problemi?
Ciao

David

sp Profilo | Newbie

per i bottoni grazie, per i cookies ora sembra andare, magrai non ho cliccato io memorizza accesso, boh!
grazie e ciao
sp
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5