Jag vill lite grovt skapa en instans av en System.Web.UI.Page-klass och loopa igenom dessa webkontroller. Problemet är att när jag skapar en page-instans av tex default så är antalet kontroller i kontrollkollektionen 0 (newPage.Controls.Count). Får man fråga varför? Kanske finns det ett enklare sätta att lösa ditt problem om man vet vad syftet är.. 1. <besserwisser>Det heter exek<b>v</b>era.</besserwisser> =) <besserwisser2>Det heter "borde ge <b>fler</b> ledtrådar".</besserwisser2> =)Skapa en page-instans med dess kontroller utan att exekuera sidan?
Detta fungerar inte att enbart göra:
Default newPage = new Default();
Om jag däremot gör så här så fungerar det fast då exekuerar (page_load m.m.) jag sidan:
Default newPage = new Default();
newPage.ProcessRequest(HttpContext.Current);
Det jag kommit fram till via bland annat Reflector och "override" är att kontrollkollektionen fylls efter metoden InitializeCulture samt innan metoden OnPreInit. Men jag hittar inte metoden via Reflector som fyller kontrollkollektionen. Någon som vet vad metoden heter eller har något bra tips hur jag hittar den?Sv: Skapa en page-instans med dess kontroller utan att exekuera sidan?
Sv: Skapa en page-instans med dess kontroller utan att exekuera sidan?
2. På http://msdn.microsoft.com/en-us/library/ms178472.aspx ser du själva processen, där har du en länk till http://msdn.microsoft.com/en-us/library/system.web.ui.control.ensurechildcontrols.aspx, som verkar vara det du letar efter.
På http://msdn.microsoft.com/en-us/library/zt27tfhy.aspx har du en guide som borde kunna ge mer ledtrådar. Sv:Skapa en page-instans med dess kontroller utan att exekuera sidan?