Dentro de mi página, tengo los siguientes:ASP.NET control de usuario no inicializa los controles secundarios
<aspe:UpdatePanel runat="server" ID="updatePanel">
<ContentTemplate>
<local:KeywordSelector runat="server" ID="ksKeywords" />
</ContentTemplate>
</aspe:UpdatePanel>
KeywordSelector
El control es un control defino en el mismo montaje y local
se asigna a su espacio de nombres.
El control está compuesto por varios otros controles y se define como tal:
<%@ Control Language="C#" AutoEventWireup="true"
CodeBehind="KeywordSelector.ascx.cs"
Inherits="Keywords.KeywordSelector" %>
y tiene un buen número de controles de servidor de su propio, todos definidos como miembros en el archivo .designer.cs
.
Sin embargo, durante ninguna parte del ciclo de vida del control de modo que carece de objetos de control hijo ni produce HTML:
- Todos los miembros definidos en el archivo
.designer.cs
sonnull
. - Llamadas al
HasControls
returnfalse
. - Las llamadas al
EnsureChildControls
no hacen nada. - La colección
Controls
está vacía.
Al quitar el UpdatePanel
no funcionó. Traté de reproducirlo en una página limpia con un nuevo UserControl
y sucede lo mismo.
Estoy usando ASP.NET sobre .NET Framework 3.5 SP1 con el servidor web integrado.
¿Qué me falta aquí?
Actualización # 1: siguiente comentario de Rob, me miró a los OnInit
y encontró que la UserControl
no detecta que tiene los controles secundarios. ¡Además, nunca se llama CreateControlCollection
!
¿Estás cargando dinámicamente este control? – thismat
No. Lea sobre ellos también ... –
¿Ha anulado OnInit y eliminado la línea base.OnInit (e); ¿en accidente? – Rob