Hallo Bei dir wird ja ImageUrl auch leer ausgegeben. Wenn du in der aspx-Seite das Attribut ImageUrl vor den Attributen ImageUrlExpanded und ImageUrlCollapsed hinschreibst, so verlierst du ImageUrlExpanded und UmageUrlCollapsed. So:
<cc1:MyButton id="MyButton1" style="Z-INDEX: 101; LEFT: 16px; POSITION: absolute; TOP: 24px" runat="server" ImageUrl="image.gif" ImageUrlExpanded="expanded.gif" ImageUrlCollapsed="collapsed.gif" Height="72px" Width="144px"></cc1:MyButton> Ausgabe: Expanded: True ImageUrlExpanded: ImageUrlCollapsed: ImageUrl: Warum sollte ich EnsureChildControls() nicht benötigen? Ich erhalte im Designer folgenden Fehler im Eigenschaftenfenster wenn ichs weglasse: ImageUrl: Object reference not set to an instance of an object. Gruss P. Moser >-- Original-Nachricht -- >From: "Andreas Rudischhauser" <[EMAIL PROTECTED]> >To: <asp.net@glengamoi.com> >Subject: AW: [Asp.net] Einfaches Custom Control Problem? >Reply-To: asp.net@glengamoi.com >Date: Thu, 6 Jan 2005 11:57:44 +0100 > > >Ich hab das grad mal in eine App gebastelt. Ich versteh dein Problem nicht >so ganz. Wenn ich das starte zeigt er mir > >Expanded: True >ImageUrlExpanded: expanded.gif >ImageUrlCollapsed: collapsed.gif >ImageUrl: > >Wobei es eal ist ob das "EnsureChildControls" drin ist, oder nicht. Das >brauchst du an der Stelle doch auch gar nicht... > >Was ist denn jetzt genau das Problem? > > >-----Ursprüngliche Nachricht----- >Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im >Auftrag von [EMAIL PROTECTED] >Gesendet: Donnerstag, 6. Januar 2005 10:14 >An: asp.net@glengamoi.com >Betreff: [Asp.net] Einfaches Custom Control Problem? > >Hallo zusammen > >Seit Stunden versuche ich ein ganz triviales Custom Control zum Laufen zu >bringen. Das Custom Control hat zwei Image Controls und ein Attribut >"Expanded". >Je nachdem ob "Expanded" true oder false ist soll beim einen Image Contorl >ein anderes Bild angezeigt werden. > >Ich habe festgestellt, dass ich die Attribute >ImageUrlExpanded/ImageUrlCollapsed >verliere wenn ich das Attribute ImageUrl im Code habe. Entferne ich dieses >so klappts. Liegt es an der Methode EnsureChildControls()? Diese muss ich >aber verwenden weil man sonst im Visual Studio Designer einen Fehler >erhält... > >Ich wäre mehr als dankbar für Hilfe. Es kann doch nicht so schwierig >sein...? > > >Code: >######################################################## >using System; >using System.Web.UI; >using System.Web.UI.WebControls; >using System.ComponentModel; > >namespace My.WebControls >{ > /// <summary> > /// Summary description for WebCustomControl1. > /// </summary> > [DefaultProperty("Text"), > ToolboxData("<{0}:MyButton runat=server></{0}:MyButton>")] > public class MyButton : WebControl > { > //Used by toggleImage > private string imageUrlExpanded; > private string imageUrlCollapsed; > private Image toggleImage; > > //The image > private Image image; > > //Defines which image to display > private bool expanded = true; > > [Bindable(true), > Category("Appearance"), > DefaultValue(true)] > public bool Expanded > { > get > { > return this.expanded; > } > > set > { > this.expanded = value; > } > } > > > [Bindable(true), > Category("Appearance"), > DefaultValue("")] > public string ImageUrlExpanded > { > get > { > return this.imageUrlExpanded; > } > set > { > this.imageUrlExpanded = value; > } > } > > [Bindable(true), > Category("Appearance"), > DefaultValue("")] > public string ImageUrlCollapsed > { > get > { > return this.imageUrlCollapsed; > } > > set > { > this.imageUrlCollapsed = value; > } > } > > [Bindable(true), > Category("Appearance"), > DefaultValue("")] > public string ImageUrl > { > get > { > this.EnsureChildControls(); > return this.image.ImageUrl; > } > > set > { > this.EnsureChildControls(); > this.image.ImageUrl = value; > } > } > > protected override void CreateChildControls() > { > this.image = new Image(); > > Label label = new Label(); > > label.Text = "Expanded: " + this.expanded >+"<br>ImageUrlExpanded: " + >this.ImageUrlExpanded + "<br>ImageUrlCollapsed: " + this.ImageUrlCollapsed >+"<br>ImageUrl: " + this.ImageUrl; > this.Controls.Add(label); > } > } >} > >######################################################## > >_______________________________________________ >Asp.net Mailingliste, Postings senden an: >Asp.net@glengamoi.com >An-/Abmeldung und Suchfunktion unter: >http://www.glengamoi.com/mailman/listinfo/asp.net > >_______________________________________________ >Asp.net Mailingliste, Postings senden an: >Asp.net@glengamoi.com >An-/Abmeldung und Suchfunktion unter: >http://www.glengamoi.com/mailman/listinfo/asp.net _______________________________________________ Asp.net Mailingliste, Postings senden an: Asp.net@glengamoi.com An-/Abmeldung und Suchfunktion unter: http://www.glengamoi.com/mailman/listinfo/asp.net