631 messaggi dal 21 marzo 2008
Ciao a tutti
ho realizzato una classe che crea un messagebox. Questa messagebox ha anche un imagebutton a cui voglio associare un evento click.
Solo che l'evento click non viene generato. Sembra quasi che venga perso.

public class MsgBox
{
Panel phMsgBoxContainer;

public MsgBox(Control Container, string Msg, string tipo, string pagina)
{
.
.
.
Panel dvOk = new Panel();

ImageButton btnOk = new ImageButton();
btnOk.ImageUrl = ConfigurationManager.AppSettings["UrlApplication"].ToString() + "Administrator/img/ok_pop.jpg";
btnOk.Click += new System.Web.UI.ImageClickEventHandler(Hide);
btnOk.ValidationGroup = "vgMsgBox";
btnOk.CommandArgument = pagina;
btnOk.EnableViewState = true;
dvOk.Controls.Add(btnOk);
.
.
.
}

protected void Hide(object sender, System.Web.UI.ImageClickEventArgs e)
{
ImageButton btnOk = (ImageButton)sender;
string pagina = btnOk.CommandArgument;

phMsgBoxContainer.Visible = false;
if (pagina != string.Empty) HttpContext.Current.Response.Redirect(pagina);
}

In una pagina .aspx:
MsgBox mess = new MsgBox(phMsgBox, Costanti.ERR_SALVATAGGIO_DATI, "err", string.Empty);

Quando clicco sull'imagebutton esegue solo un postback.
Grazie mille
non mi sembra che riassoci l'evento ad ogni PostBack, devi farlo per associarlo ad ogni chiamata

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
631 messaggi dal 21 marzo 2008
Come faccio se la classe viene istanziata nel punto in cui mi server?
salvi un flag, nel ViewState quando associ l'evento, poi nel page_load controlli che ci sia questo flag e lo ricrei

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
631 messaggi dal 21 marzo 2008
Piccolo codice di esempio?
Grazie per l'aiuto

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.