Fehler beim Laden eines Controls

12/06/2009 - 16:38 von Carsten | Report spam
Ich versuche ein Control einzubinden und komme nicht weiter. Vielleicht ein
Verstàndnisproblem.

Die Zeile:
AppointmentToolTip toolTip =
(AppointmentToolTip)LoadControl("AppointmentToolTip.ascx");

erzeugt bei mir einen Fehler. Es wird kein kein Objekt vom Typ
AppointmentToolTip zurück gegeben sondern vom Typ
ASP.appointmenttooltip_ascx. Das Control ist recht einfach:

<%@ Control Language="C#" AutoEventWireup="true"
CodeFile="AppointmentToolTip.ascx.cs"
Inherits="ProtelShop.AppointmentToolTip" %>
<div style="margin:5px 5px 0px 5px; font-size:12px; padding-bottom: 10px;">
<div style="border-bottom:solid 1px
#ccc;margin-bottom:9px;font-size:11px;">Starting on: <asp:Label
runat="server" ID="StartingOn"></asp:Label></div>
<asp:Literal runat="server" ID="FullText"></asp:Literal>
</div>

Und die Klasse:

public partial class AppointmentToolTip : UserControl
{
.

Wenn ich die Zeile in der das Control eingebunden wird àndere:
AppointmentToolTip toolTip =
(AppointmentToolTip)LoadControl("AppointmentToolTip.ascx.cs");

funktioniert das Einbinden, aber dann werfen die Anweisungen innerhalb des
Controls eine Exception, weil das label nicht mehr gefunden wird:

this.StartingOn.Text = this.apt.Owner.UtcToDisplay(apt.Start).ToString();

Was mache ich falsch? muss ich Controls anders erzeugen?

LG

carsten
 

Lesen sie die antworten

#1 Carsten
12/06/2009 - 18:28 | Warnen spam
Also die Lösung scheint hier beschrieben zu sein:
http://joel.neubeck.net/2007/03/loa...hind-page/

Nur ich verstehe immer noch nicht wie ich das Verhalten umgehen kann. Muss
ich das Control in einem extra Projekt einbinden? Ich verwende das Reference
Servertag
<%@ Reference Control="AppointmentToolTip.ascx" %>

"Carsten" wrote:

Ich versuche ein Control einzubinden und komme nicht weiter. Vielleicht ein
Verstàndnisproblem.

Die Zeile:
AppointmentToolTip toolTip =
(AppointmentToolTip)LoadControl("AppointmentToolTip.ascx");

erzeugt bei mir einen Fehler. Es wird kein kein Objekt vom Typ
AppointmentToolTip zurück gegeben sondern vom Typ
ASP.appointmenttooltip_ascx. Das Control ist recht einfach:

<%@ Control Language="C#" AutoEventWireup="true"
CodeFile="AppointmentToolTip.ascx.cs"
Inherits="ProtelShop.AppointmentToolTip" %>
<div style="margin:5px 5px 0px 5px; font-size:12px; padding-bottom: 10px;">
<div style="border-bottom:solid 1px
#ccc;margin-bottom:9px;font-size:11px;">Starting on: <asp:Label
runat="server" ID="StartingOn"></asp:Label></div>
<asp:Literal runat="server" ID="FullText"></asp:Literal>
</div>

Und die Klasse:

public partial class AppointmentToolTip : UserControl
{
.

Wenn ich die Zeile in der das Control eingebunden wird àndere:
AppointmentToolTip toolTip =
(AppointmentToolTip)LoadControl("AppointmentToolTip.ascx.cs");

funktioniert das Einbinden, aber dann werfen die Anweisungen innerhalb des
Controls eine Exception, weil das label nicht mehr gefunden wird:

this.StartingOn.Text = this.apt.Owner.UtcToDisplay(apt.Start).ToString();

Was mache ich falsch? muss ich Controls anders erzeugen?

LG

carsten






Ähnliche fragen