CLR: .Net / Mono / Boo / Otros CLR > C#
Añadir Atributos A Elementos De Un Repeater?
(1/1)
xcx:
Hola a todos.. Tengo un problema - que típico eso -
Resulta que en una página aspx tengo un repeater y dentro del item template tengo un rollover
--- Código: Text --- <asp:Repeater ID="rptMenu" Runat="server"> <ItemTemplate> <skm:RollOver CausesValidation="False" CssClass="_link_01" OnCommand="btnMenuIzqGenerico" CommandName="elemento" CommandArgument='<%# DataBinder.Eval (Container.DataItem, "idsub")%>' RollOverImageUrl='<%#DataBinder.Eval (Container.DataItem, "img2") %>' ImageUrl='<%#DataBinder.Eval (Container.DataItem, "img1") %>' ToolTip='<%#DataBinder.Eval (Container.DataItem, "mensaje") %>' Text='<%#DataBinder.Eval (Container.DataItem, "miniDescMapa") %>' runat="server" ID="Rollover1"> </skm:RollOver><br> </ItemTemplate> </asp:Repeater>
En el código de la clase en sí, al repeater le asigno los datos que he extraido de un xml en el cual están las caracteristicas de imagenes y los textos y las urls. Hasta ahí todo bien.
El problema viene cuando quiero agregar a ese arreglo de botones - por llamarlo de alguna manera - una función que he creado en javascript.
Se que para agregar algo así en un botón normalmente se haría esto
--- Código: Text --- btnSede.Attributes.Add("onClick", "return(confirmar())"); donde btnSede es un elemento de tipo boton.
El rolover es un botón que tiene otros atributos para lo del rolover de imagenes pero sigue siendo botón y si tengo un rolover solo, lo del Attributes.Add me funciona sin problemas.
Alguien sabe como puedo añadir esto dentro del repeater? o por código... Le he estado dando vueltas desde ayer, pero aun sigo sin solución... Gracias de antemanos... :hola:
xcx:
Nuevamente yo... Ya he encontrado como solucionarlo...
Posteo la solución por si a alguien más tiene la misma problemática.
En el aspx, en el repeater hay que hacer lo siguiente
--- Código: Text --- <asp:Repeater ID="rptMenu" Runat="server" OnItemDataBound="Item_Bound">
En la clase, hay que implementar ese método...
--- Código: Text --- protected void Item_Bound(Object sender, RepeaterItemEventArgs e) { RolloverButton.RollOver rlbt = (RolloverButton.RollOver) e.Item.Controls[1]; rlbt.Attributes.Add("onClick", "return(confirmar())"); } y de esta forma, se puede acceder al elemento de tipo botón que se esté generando y se le puede asignar alguna propiedad o modificar alguna cosa.. En fin.. Ya con esto quedé tranquilo.. Ojalá a alguien más le sirva. :hola:
Navegación
Ir a la versión completa