Hi Liste, ich habe ein Problem beim manuellen Erzeugen eines PostBack und dem Abfangen des ausgelösten Events. Ich habe ein eigenes ascx erstellt innerhalb dessen eine HTML-Tabelle erzeugt wird. Diese Tabelle besteht aus mehreren Zeilen, welche ich manuell rendere. Dabei habe ich die Zeile jeweils nochmal in eine eigene Klasse ausgelagert. Hierin wird auch der __doPostBack-Code generiert. Hier mal ein CodeSchnipsel.
public class ZoomButton : System.Web.UI.Control, IPostBackEventHandler { [...] protected override void Render(HtmlTextWriter writer) { HtmlImage ibtn = new HtmlImage(); //ibtn.Command = "ZoomIn"; ibtn.Src = ImagePath + imageoff; ibtn.ID = ID; ibtn.Border = 0; ibtn.Attributes.Add("onMouseOver", "javascript: this.src='" + ImagePath + imageon + "'"); ibtn.Attributes.Add("onMouseOut", "javascript: this.src='" + ImagePath + imageoff + "'"); HyperLink hl = new HyperLink(); hl.Attributes.Add("href", "javascript: __doPostBack('" + this.UniqueID + "','" + ibtn.ID + "')"); hl.RenderBeginTag(writer); ibtn.RenderControl(writer); hl.RenderEndTag(writer); } //Event property construct to optimize public event EventHandler ZoomMapClick { add { Events.AddHandler(EventClick,value); } remove { Events.RemoveHandler(EventClick,value); } } //Method to raise the event protected void OnClick(CommandEventArgs e) { EventHandler handler=Events[EventClick] as EventHandler; if(handler != null) { handler(this,e); } } // protected override void OnInit(EventArgs e) { Events.AddHandler("EventClick", null); base.OnInit (e); } // // // #region IPostBackEventHandler Member // public void RaisePostBackEvent(string eventArgument) { OnClick(new CommandEventArgs("zoom", eventArgument)); } Wenn ich nun ein PostBack ausführe springt er mit zwar in meine OnClick Funktion, das Event wird aber nicht ausgelöst weil handler immer "null" ist :-( Ich vermute dass das am Page-LifeCycle hängt. Aber irgendwie muss ich es doch schaffen ein Event aus meiner Klasse heraus, die wiederum in ein Control eingebettet ist, auszulösen. Hatte vorher schon eine Variante die funktionierte, weiß aber nicht mehr genau wie das lief :-( Vielleicht habt ihr ne Idee?!? Vielen Dank schonmal für Eure Hilfe! Gruß Tobias :-) _______________________________________________ Asp.net Mailingliste, Postings senden an: Asp.net@glengamoi.com An-/Abmeldung und Suchfunktion unter: http://www.glengamoi.com/mailman/listinfo/asp.net