Laden...

CustomControl Style Attribute

Erstellt von AlfameisterT vor 18 Jahren Letzter Beitrag vor 18 Jahren 1.269 Views
A
AlfameisterT Themenstarter:in
154 Beiträge seit 2005
vor 18 Jahren
CustomControl Style Attribute

Hallo,

ich habe ein CustomControl erstellt, abgeleitet von der DropDownList.
Nun möchte ich im HTML Quelltext die Style-Eigenschaft setzten.

Überschreibe ich das Property erscheint folgende Fehlermeldung
Eigenschaft ist nur Laufzeit und kann nicht deklariert werden

Zu Testzwecken habe ich das Attribute anders benannt und manuel über Control.Attributes.CssStyle.Add(...) hinzugefügt.

Wird zwar fehlerfrei Compiliert, aber die Eigenschaften werden nicht übernommen.

Wie muss ich hier vorgehen?

C
1.215 Beiträge seit 2004
vor 18 Jahren

An welcher Stelle (bezogen auf den Page Zyklus) notierst Du die CSS-Eigenschaften? Eventuell sind da bereits die Attribute gerendert. Ansonsten geht das bei mir immer einwandfrei.
Verwende der Einfachheit halber this.Style.Add anstelle this.Attributes.CssStyle.Add.

Grüsse
Cord

A
AlfameisterT Themenstarter:in
154 Beiträge seit 2005
vor 18 Jahren

Ok Problem gelößt.
War mein Fehler, ich muss natürlich alles was hinter der Style-Eigenschaft steckt in meiner Render Methode selber um die Ausgabe kümmern.
Gibt's im Framework was Fertiges für CssStyleCollection to HtmlStyleAttribute?


//SetCss
if(this.Style.Count > 0)
{
	IEnumerator enm = this.Style.Keys.GetEnumerator();

	//startTag
	output.Write("style=\"");

	//attributes
	while( enm.MoveNext() )
	{
	output.Write((string)enm.Current + ":" + this.Style[(string)enm.Current] + ";");
	}

	//endTag
	output.Write("\"");
}


C
1.215 Beiträge seit 2004
vor 18 Jahren

Original von AlfameisterT
Gibt's im Framework was Fertiges für CssStyleCollection to HtmlStyleAttribute?

Nichts Explizites, die Umwandlung wird innerhalb der Render-Methoden der entsprechenden Controls vorgenommen. Bei Webcontrol wird es wahrscheinlich während AddAttributesToRender passieren.

Grüsse
Cord