DOPPIO POST BACK

lunedì 15 ottobre 2007 - 14.03

Jumpa Profilo | Junior Member

Cia a tutti,
ho una mia pagina aspx, all'interno della quale costruisco una tabella a "run time" e dentro una cella costruisco sempre a runtime dei bottoni.
All'on click dei bottoni poi metto il codice per scatenare il postback.
e fin qui tutto bene,
direi che funziona tutto alla grande, poi intercetto il target gli argomenti e scateno tutte le mie funzioni.
Di seguito il codice usato per creare il pulsante

l'unico problema è che non sono riuscito a capire per quale motivo ma "al singolo click sul suddetto pulsante" mi si scatena un post back due volte!
btn = new Button();
btn.Text = "Nega Autorizzazione";
btn.OnClientClick = "javascript:__doPostBack('mio_target','argomento')";
htc.Controls.Add(btn);
htr.Cells.Add(htc);
htc = new HtmlTableCell();
htc.Width = "100px";
htc.InnerHtml = "";
htr.Cells.Add(htc);


grazie a tutti

Jumpa
-------------------------
Follow the White Rabbit...

http://www.jumpa.org
-------------------------

alx_81 Profilo | Guru

>Cia a tutti,
Ciao!

>l'unico problema è che non sono riuscito a capire per quale motivo
>ma "al singolo click sul suddetto pulsante" mi si scatena un
>post back due volte!

prova a commentare la riga
btn.OnClientClick = "javascript:__doPostBack('mio_target','argomento')";

dovrebbe fare la postback in automatico..

>grazie a tutti
di nulla!
Alx81 =)

http://blogs.dotnethell.it/suxstellino

Jumpa Profilo | Junior Member

ma se commento la riga come faccio a ecidere il particolare argomentoc he voglio passare per l'appunto in arguments?
e soprattutto come faccio ad intercettare che è stato proprio quel pulsante a scatenare l'evento,
il controllo non mi fa specificare un nome runtime, e lo assegna lui quando fa il render della pagina, un nome del tipo "ctlxx"

grazie

Jumpa
-------------------------
Follow the White Rabbit...

http://www.jumpa.org
-------------------------

Jumpa Profilo | Junior Member

ho ripiegato nel seguente modo,
ho cambiato controllo!

htc = new HtmlTableCell();
htc.Width = "100px";
System.Web.UI.HtmlControls.HtmlButton hb = new HtmlButton();
hb.Attributes.Add("name", "pulsante1");
hb.Attributes.Add("onclick", "javascript:__doPostBack('pulsante1','mioparametro');
hb.InnerText = "Clikka qui";
htc.Controls.Add(hb);

Cosi il controllo me lo costruisco io in tutti gli attributi.

Ciao a tutti

Jumpa!
-------------------------
Follow the White Rabbit...

http://www.jumpa.org
-------------------------

alx_81 Profilo | Guru

>ho ripiegato nel seguente modo,
>ho cambiato controllo!
>
> htc = new HtmlTableCell();
> htc.Width = "100px";
>System.Web.UI.HtmlControls.HtmlButton hb = new HtmlButton();
> hb.Attributes.Add("name", "pulsante1");
>hb.Attributes.Add("onclick", "javascript:__doPostBack('pulsante1','mioparametro');
> hb.InnerText = "Clikka qui";
> htc.Controls.Add(hb);
>
>Cosi il controllo me lo costruisco io in tutti gli attributi.
Infatti, quello che intendevo dirti è che il Button fa già di suo la postback.. per quello ne hai due.
Purtroppo non ho avuto tempo di risponderti, ma gestirlo con un normale HTMLButton è una buona soluzione.

>Ciao a tutti
Ciao!

Alx81 =)

http://blogs.dotnethell.it/suxstellino
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