pregunta relacionada: Get All Web Controls of a Specific Type on a Page¿Cuándo usar PreRender en PageLoad?
En la pregunta anterior le pregunté cómo puedo conseguir todos los controles, funciona como un encanto pero algo simplemente no encaja así que pensé que podría ser yo. Tengo el siguiente código pero no está manipulando los controles en la página, pero en mi teoría debería funcionar.
List<DropDownList> allControls = new List<DropDownList>();
ControlEnhancer.GetControlList<DropDownList>(Page.Controls, allControls);
foreach (DropDownList childControl in allControls)
{
foreach (ListItem li in childControl.Items)
{
li.Attributes.Add("title", li.Text);
}
childControl.Attributes.Add("onmouseover", "this.title=this.options[this.selectedIndex].title");
}
Eso es el código, GetControlList() de código que puede obtener de la cuestión relacionada que muestra cómo se pone todos los controles, es sólo mi manipulación. Estoy tratando de obtener todos los elementos de la lista desplegable y agregarles un título para que pueda tener una información sobre herramientas.
Es una solución rápida para IE8 y debajo de los cortes de texto largo en cuadros desplegables.
La pregunta original tiene la lista de controles, esta pregunta necesito para obtener los controles de la lista desplegable y manipularlos como lo estoy intentando arriba al agregar el atributo de texto. – Anicho
Actualización: parece que el problema no está en el código, más en la ubicación, no se está ejecutando hasta que fuerce una devolución de datos en la página, el problema es diferente, aunque la respuesta se publicará en breve. – Anicho
Lo tenía ejecutando en la carga de la página, necesario para ejecutarlo en el evento prerender. – Anicho