Obtenga referencia a un menú desplegable con c # en la página PreRender

votos
0

Quiero agregar opciones a un cuadro desplegable en mi página aspx desde el código c # detrás durante la carga. No sé cómo obtener una referencia al control. Tengo un código c # que se activa cuando el usuario cambia el cuadro desplegable. En eso obtengo una referencia al menú desplegable con:

DropDownBox ddb = (DropDownBox)info.Toolbar.ToolbarItems.Find(ID);

Pero eso no funcionará si lo intento en

protected void Page_PreRender(object sender, EventArgs e)
    {

en mi aspx.cs

¿Qué me estoy perdiendo? Gracias.

Publicado el 10/12/2008 a las 00:56
fuente por usuario
En otros idiomas...                            


2 respuestas

votos
1

Si desea que el elemento seleccionado del menú desplegable se seleccione automáticamente de viewstate en las devoluciones, deberá tener todos los elementos en el menú desplegable para el momento en que se active Page_PreLoad. Para hacer esto, deseará poner su código en Page_Init, en este punto se crean los controles, pero viewstate aún no se ha inyectado en ellos.

Echa un vistazo aquí página ASP.NET Vida Resumen Ciclo de información en la página del ciclo de vida.

Veo que su menú desplegable se encuentra en un contenedor principal, es posible que necesite llamar a info.EnsureChildControls () antes de usar Find () si no puede obtener una referencia a su control.

Respondida el 10/12/2008 a las 01:17
fuente por usuario

votos
0

PreRender está hacia el final del ciclo de vida de la página. ¿Estás seguro de que quieres hacer cambios allí? Parece que deberías estar cambiando elementos en el menú desplegable cuando está inicialmente vinculado o cuando se cambia su selección.

http://codebetter.com/blogs//images/codebetter_com/raymond.lewallen/89/o_aspNet_Page_LifeCycle.jpg

Respondida el 10/12/2008 a las 01:03
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more