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

Antwort per Email an