So, jetzt bin ich einen Schritt weiter:

---------------------------------------------------------------

ControlCollection _CachedItems = (ControlCollection)
Cache[Utilities.cacheKey("MainContent")];

Trace.Warn("_CachedItems.Count 0", _CachedItems.Count.ToString());

object [] CachedItems = new object[_CachedItems.Count];

_CachedItems.CopyTo(CachedItems, 0);

Trace.Warn("_CachedItems.Count 1", _CachedItems.Count.ToString());

for(int i=0; i<CachedItems.Length; i++) {
        Control CurrentItem = (Control) CachedItems.GetValue(i);
        CurrentItem.ID = Guid.NewGuid().ToString();
        EasyBaseContent.Controls.AddAt(i, CurrentItem);

}

Trace.Warn("_CachedItems.Count 2", _CachedItems.Count.ToString()); 

---------------------------------------------------------------

Das funktioniert - allerdings nur beim ersten Aufruf, denn nachdem
alle Controls in den PlaceHolder geadded sind, ist CachedItems
wieder leer!

Wie kann das sein? Ich verstehe es �berhaupt nicht mehr... konkret:
sobald EasyBaseContent.Controls.AddAt(i, CurrentItem) da drin steht
(oder auch nur add), dann wird _CachedItems geleert. Aber WARUM?

Gru�, Thomas

http://blogs.dotnetgerman.com/thomas/ 

> -----Urspr�ngliche Nachricht-----
> Von: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] Im Auftrag von Thomas Bandt
> Gesendet: Donnerstag, 2. Dezember 2004 13:05
> An: [EMAIL PROTECTED]
> Betreff: AW: [Asp.net] Controls verschieben - aber wie?
> 
> Hallo,
>  
> > hast Du es schon mal nur mit Add versucht?
> 
> ja - macht keinen Unterschied.
> 
> > Hast Du vielleicht irgendwo ein .Controls.Clear() danach?
> 
> EasyBaseContent definitiv nicht, nein.
> 
> > Was liefert EasyBaseContent.Controls.Count ?
> 
> Den korrekten Wert, zumindest beim ersten Aufruf. Das sollte
> also stimmen.
> 
> > Wann f�hrst Du den Code oben aus? (Stichwort Life Cycle)
> 
> im Page_Load(), allerdings: beim ersten Aufruf der Seite laufe
> ich in einen anderen Zweig, in dem die Controls ebenfalls in
> den PlaceHolder geadded werden - nur kommen sie nicht aus der
> gecachten Collection, sondern werden neu erzeugt. Da funktioniert
> es aber.
> 
> Gru�, Thomas
> 
> http://blogs.dotnetgerman.com/thomas/ 
> 
> 
> _______________________________________________
> Asp.net Mailingliste, Postings senden an:
> [EMAIL PROTECTED]
> An-/Abmeldung und Suchfunktion unter:
> http://www.glengamoi.com/mailman/listinfo/asp.net
> 
> 


_______________________________________________
Asp.net Mailingliste, Postings senden an:
[EMAIL PROTECTED]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net

Antwort per Email an