asp.net - programar - runat server asp net que es
La instancia de Control de usuario ASP.NET es nula cuando se hace referencia en Page_Load en el código de página detrás (2)
Tengo un control de usuario que he escrito y he agregado a una página ASP.NET, y funciona muy bien. Sin embargo, estoy tratando de hacer referencia a una propiedad en ese control personalizado del código que está detrás, en Page_Load, pero no puedo, porque la variable, que es accesible, para la instancia es nula.
¿Es esto normal para los controles del usuario y Page_Load? Y si es así, ¿cómo puedo hacer una referencia a la instancia del control para acceder a sus propiedades públicas? Esto es algo que tengo que hacer antes de que se muestre la página, para inicializar algunas variables.
Tuve el mismo problema, y resultó que estaba registrando mi control personalizado incorrectamente.
Definición correcta:
<%@ Register Src="PeriodControl.ascx" TagName="PeriodControl" TagPrefix="ucs" %>
Definición incorrecta:
<%@ Register TagPrefix="ucs" Namespace="MyWebsite" Assembly="MyWebsite" %>
La única diferencia fue hacer referencia directamente al archivo ascx en lugar del control en el conjunto. ¿¡Imagínate!?
Probablemente pueda acceder a su control de usuario desde el evento Page_PreRender
.
Puede encontrar más documentación sobre el ciclo de vida de la página en asp.net aquí .