2010-12-19 6 views
1

Ich habe ein seltsames Problem. Ich habe ein benutzerdefiniertes Kontrollkästchen erstellt, das vom normalen Steuerelement CheckBox erbt. Das einzige, was ich hinzugefügt habe, war eine benutzerdefinierte Zeichenfolge mit get/set.Benutzerdefiniertes Steuerelement in Elementvorlage wird in ItemDataBound nicht umgewandelt, obwohl der Typ korrekt ist

Jetzt, wenn ich versuche zu tun: (innerhalb eines ItemTemplate)

ValueCheckBox check = e.Item.FindControl("ExtraPackagesCheck") as ValueCheckBox; 

ich null erhalten. Wenn ich es nur als Kontrolle erhalte, ist es nicht null und getType() == typeof(ValueCheckBox) ist wahr.

Wenn ich versuche zu werfen als

ValueCheckBox check =(ValueCheckBox)e.Item.FindControl("ExtraPackagesCheck"); 

ich den Fehler:

Unable to cast object of type 'System.Web.UI.HtmlControls.HtmlGenericControl' to type 'CanalDigitalBestilling.code.ValueCheckBox'.

Das ist sehr seltsam. Fehle ich hier etwas? Meine benutzerdefinierte Klasse lautet:

+1

Können Sie Ihr Markup anzeigen (oder wie Sie das Steuerelement zur Seite hinzufügen)? – Oded

Antwort

0

Überprüfen Sie Ihre Designer.cs-Datei und stellen Sie sicher, dass das Steuerelement als den richtigen Typ deklariert ist.