mayoría de las veces lo uso cuando estoy teniendo acceso a una propiedad de un control compuesto que depende de un control secundario. Pero también lo he agregado a OnInit de un control para poder asegurarme de que se haya agregado correctamente un campo oculto. Hace solo un minuto lo llamé en RenderControl porque tenía un problema al procesar un extensor de calendario y lo solucionó. Estoy empezando a ser un poco confusa en cuando necesito y cuando no necesito llamar EnsureChildControls y cuando debería llamarlo. Cualquier puntero es bienvenido. ¡Gracias!¿Cuál es el uso correcto de EnsureChildControls()?
Respuesta
EnsureChildControls desencadena CreateChildControl si no es que ya tuvieron lugar antes. Esto debe hacerse solo una vez en el ciclo de vida de la página. Lo llamo incondicionalmente en OnInit/Page_Init y en ningún otro lugar. Este lugar tiene la ventaja de que los controles se crean antes de que ASP.NET cargue ViewState. Si usa ViewState o ControlState, es necesario crear los controles secundarios tan temprano.
Será llamándolo en OnInit eliminar la necesidad de llamar en las propiedades de si la propiedad tiene acceso a algo así como TextBox1.Text? – Mike
En general digo "sí", pero en detalle depende de su uso. Si llama EnsureChildControls en OnInit es segura para acceder a los controles (a través de propiedades o de otro tipo) sin llamar de nuevo en todas las etapas posteriores del ciclo de páginas de la vida (de carga, los eventos de devolución, Render, ...) Si depende de ViewState esto debería ser el único uso. –
EnsureChildControls método se asegura que los controles secundarios se crean antes de acceder a ellos.
Cada vez que escriba controles compuestos por ejemplo, desea construir sus controles dentro de los eventos CreateChildControls y luego llamar a EnsureChildControls antes de acceder a ellos para asegurarse de que se hayan creado todos los controles para que no se produzca una excepción de referencia nula.
- 1. ¿Cuál es el uso correcto de DataContext.Refresh()?
- 2. Imagen de fondo de CSS: ¿Cuál es el uso correcto?
- 3. iPhone: ¿Cuál es el uso correcto de viewDidDisappear?
- 4. ¿Cuál de estos ejemplos representa el uso correcto de DDD?
- 5. Uso correcto de .htpasswd
- 6. ¿Es este un uso correcto de Thread.MemoryBarrier()?
- 7. Módulo de cripta Python: ¿cuál es el uso correcto de sales?
- 8. ¿Cuál es el uso correcto de la función attr de CSS?
- 9. ¿Cuál es el uso de singletonList?
- 10. ¿Es este el uso correcto de un mutex?
- 11. Uso correcto de DllImport
- 12. Uso correcto de SetThreadAffinityMask
- 13. Uso correcto de BoneCP
- 14. ¿Cuál es el uso correcto de realloc() cuando falla y devuelve NULL?
- 15. ¿Cuál es el uso correcto de NSErrorRecoveryAttempting, NSError y UIAlertView en iOS?
- 16. ¿Cuál es el uso correcto de GetLastError y FormatMessage en Delphi?
- 17. ¿Cuál es el uso correcto de XmlNode.SelectSingleNode (string xpath) en C#?
- 18. uso correcto de GetClipRgn?
- 19. Uso correcto de caché NSFetchedResultsController
- 20. uso correcto de scipy.optimize.fmin_bfgs
- 21. ¿Cuál es el término correcto para el token '...'?
- 22. ¿Cuál es el formato correcto para pubdate de feed RSS?
- 23. Clase de utilidad: ¿Cuál es el enfoque correcto?
- 24. strncmp uso correcto
- 25. El uso correcto de Stat en C
- 26. El uso correcto de impulso lambda
- 27. Diccionario concurrente Uso correcto
- 28. MySQL Enum uso correcto?
- 29. TSQL: ¿Cuál es el orden correcto para unir tablas?
- 30. ¿Cuál es el enfoque correcto para iniciar una aplicación GWT?
esta pregunta me hace feliz aprendí MVC :) – fearofawhackplanet