Foros del Web » Programando para Internet » ASPX (.net) »

Botones en datalist

Estas en el tema de Botones en datalist en el foro de ASPX (.net) en Foros del Web. Estoy programando una pagina en vwd 2008 en vb, ¿Alguien sabe como puedo hacer que un boton incluido dentro de un itemtemplate de un datalist ...
  #1 (permalink)  
Antiguo 16/04/2010, 09:36
 
Fecha de Ingreso: noviembre-2008
Mensajes: 24
Antigüedad: 15 años, 4 meses
Puntos: 0
Botones en datalist

Estoy programando una pagina en vwd 2008 en vb, ¿Alguien sabe como puedo hacer que un boton incluido dentro de un itemtemplate de un datalist cambie de color de fondo cada vez que el raton pasa por encima?. Un saludo.
  #2 (permalink)  
Antiguo 16/04/2010, 13:22
Avatar de jsrc1990  
Fecha de Ingreso: enero-2009
Mensajes: 95
Antigüedad: 15 años, 2 meses
Puntos: 0
De acuerdo Respuesta: Botones en datalist

Código ASP:
Ver original
  1. Protected Sub TuDatalist_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataListItemEventArgs) Handles TuDatalist.ItemDataBound
  2. If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then
  3. Dim TuBoton2 As Button = DirectCast(e.Item.FindControl("TuBoton"), Button)
  4. TuBoton2.Attributes.Add("onmouseover", "this.style.backgroundColor='yellow'")
  5. TuBoton2.Attributes.Add("onmouseout", "this.style.backgroundColor=''")
  6. End If
  7. End Sub

Espero haberte ayudado, Cuentanos.

Jsrc1990

Última edición por jsrc1990; 16/04/2010 a las 22:22
  #3 (permalink)  
Antiguo 16/04/2010, 16:01
 
Fecha de Ingreso: noviembre-2008
Mensajes: 24
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Botones en datalist

Gracias, funciona perfectamente, pero ahora me ha surgido un problema: he puesto el código que me has dado en un boton normal ("button") y funciona bien, pero dentro del mismo datalist tengo unos botones de un reproductor de ASPNetMediaGUI. En concreto son un boton de play, otro de pause y otro de stop. He puesto el codigo que me has facilitado para estos botones y no funciona. El error que me dá es el siguiente:" No se puede convertir un objeto de tipo 'ASPNetMediaGUI.StopButton' al tipo 'System.Web.UI.WebControls.Button'.". ¿Sabes como solucionarlo?. He intentado mil formas y no doy con la solución. Gracias.
  #4 (permalink)  
Antiguo 16/04/2010, 22:30
Avatar de jsrc1990  
Fecha de Ingreso: enero-2009
Mensajes: 95
Antigüedad: 15 años, 2 meses
Puntos: 0
De acuerdo Respuesta: Botones en datalist

Pues a la hora de crear la variable y castear no coloques que lo vas a convertir a tipo Button sino a tipo ASPNetMediaGUI.StopButton en la linea:

Código ASP:
Ver original
  1. Dim TuBotonStop2 As ASPNetMediaGUI.StopButton = DirectCast(e.Item.FindControl("TuBotonStop"), ASPNetMediaGUI.StopButton)
  2. .
  3. .

Pienso servirá nunca he provado el Reproductor ASPNetMediaGUI, pero asi es como debe de funcionar, digo.

Espero haberte ayudado, Cuentanos...

Jsrc1990
  #5 (permalink)  
Antiguo 16/04/2010, 23:48
Avatar de jsrc1990  
Fecha de Ingreso: enero-2009
Mensajes: 95
Antigüedad: 15 años, 2 meses
Puntos: 0
De acuerdo Respuesta: Botones en datalist

Ha por cierto perdon lo olvidé, otra forma de hacer lo que pretendes es que en el codigo de etiqueta agregues a los botones del datalist, un Ejemplo:

Código ASP:
Ver original
  1. <asp:Button ID="TuBoton" runat="server" Text="Cambiame de Color" onmouseover="this.style.backgroundColor='yellow';" onmouseout="this.style.backgroundColor='';" />

Es mucho mas rapido que por cada carga haga una comparacion del tipo de item. Aunque del otro modo es mas personalizable y para mi gusto no me gusta mezclar Javascript con el Codigo de Etiqueta.

Es tu decision, Cuentanos y disculpame por el olvido tengo tambien otras cosas en mente.

Jsrc1990
__________________
Si crees que te fuí de gran ayuda y que resolví tu duda regalame un poco de karma o invitame a una pizza :)
  #6 (permalink)  
Antiguo 17/04/2010, 05:57
 
Fecha de Ingreso: noviembre-2008
Mensajes: 24
Antigüedad: 15 años, 4 meses
Puntos: 0
De acuerdo Respuesta: Botones en datalist

Gracias otra vez. Lo acabo de probar la primera de las soluciones y has dado en el clavo. No he probado lo de incluirlo en el código de la etiqueta. Lo que no consigo es poder cambiarle mas de un atributo, no se lo que hago mal, seguiré investigando a ver si lo consigo. Gracias otra vez por la solución.
  #7 (permalink)  
Antiguo 17/04/2010, 14:38
Avatar de jsrc1990  
Fecha de Ingreso: enero-2009
Mensajes: 95
Antigüedad: 15 años, 2 meses
Puntos: 0
De acuerdo Respuesta: Botones en datalist

Para poder cambiar mas de un atributo, por ejemplo ademas del color de fondo quieres cambiarle el color de letra del boton. unicamente agregarle despues del ";" el otro atributo a asignar, no te doy la linea completa ya que depende de las 2 formas que te di a implementar (Por Etiqueta o por Code-Behind), te lo doy general:

en el onmouseover:

Código Javascript:
Ver original
  1. "this.style.backgroundColor='yellow'; this.style.color='blue';"

y en el onmouseout

Código Javascript:
Ver original
  1. "this.style.backgroundColor=''; this.style.color='';"

O si quieres puedes crearte una function en javascript y la invocas y le envias como parametro el objeto por ejemplo:

en el onmouseover:

Código Javascript:
Ver original
  1. Adentro(this);

y en el onmouseout

Código Javascript:
Ver original
  1. Afuera(this);

y las functions:

Código Javascript:
Ver original
  1. function Adentro(sender)
  2. {
  3. sender.style.backgroundColor='yellow';
  4. sender.style.color='blue';
  5. }
  6.  
  7. function Afuera(sender)
  8. {
  9. sender.style.backgroundColor='';
  10. sender.style.color='';
  11. }

y otro dato: si lo haces con databound en el code-behind puedes si quieres hacerlo DIRECTO sin crear una variable de soporte eje:

Código ASP:
Ver original
  1. DirectCast(e.Item.FindControl("TuBoton"), Button).Attributes.Add("onmouseover", "this.style.backgroundColor='yellow'")
  2.  
  3. DirectCast(e.Item.FindControl("TuBoton"), Button).Attributes.Add("onmouseout", "this.style.backgroundColor=''")

Pero como dije es tu decision, yo te proveo las diferentes soluciones, creo que ya lo exprimi todo.

Espero haberte ayudado nuevamente, cuentanos...

Jsrc1990
__________________
Si crees que te fuí de gran ayuda y que resolví tu duda regalame un poco de karma o invitame a una pizza :)

Etiquetas: botones, datalist, aspx
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:02.