Forum: ASP.NET |
Thema:
Re: ASP Unit und dynamische UserControls |
Von:
Torsten Arlt (
17.08.2005 16:36) |
mmh,
das hat was mit Klassen zu tun....
Also: Mal gesetzt der Fall, Deine Seite heisst Page1 und das UserControl uc1.
Standardmäßig legt .NET die Controls auf einer Seite (auch in den uc's) als protected an.
Das bedeutet, das Du nur (!!) aus dieser Klasse intern auf die Controls zugreifen kannst.
D.h. innerhalb des UC1 kannst Du mit UC1.Ctrl1 auf das Control1 zugreifen.
Was Du jetzt machst ist folgendes:
In der Klasse Page1 erzeugst Du eine Instanz von UC1:
myUc1 = new UC1....
weil die Controls "protected" sind, kannst Du nicht mit
myUc1.Ctrl1
zugreifen!
Die Lösung ist einfach.
Entweder setzt Du die Werte mit einer Methode:
in uc1:
public void setVar(string strVar1)
{
Ctrl1.Text = strVar1;
}
oder mit einem Property
public string Ctrl1Var
{
set {Ctrl1.Text = value;}
}
(eventuell auch ein get einbauen;
oder Du Setzt das Control direkt von protected auf public!
Letzteres hat allerdings den Nachteil, dass Du keinerlei Kontrolle über die Werte des Controls hast.....
Gruß,
Heron
Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!