Hay que reconocer que una imagen siempre es mucho más representativa que una frase… y mucho más atractiva claro está.
Por ello, a veces las palabras son reemplazadas por bellas imágenes.
Imaginemos por ejemplo que tenemos un catálogo de productos y queremos elegir un producto de una lista (como la imagen de arriba).
Para ello necesito:
1.- un control ASP.NET RadioButtonList:
<form id="form1" runat="server">
<asp:RadioButtonList ID="RadioButtonList1" runat="server">
</asp:RadioButtonList>
</form>
2.- y un poquito de código VB.NET:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If IsPostBack Then Return
Dim c As Char = Html32TextWriter.DoubleQuoteChar
Dim js As String = "return this.parentNode.previousSibling.checked=true;"
Dim IMGs As New List(Of String)
IMGs = MyImages()
Dim i As Integer = 0
For Each img As String In IMGs
RadioButtonList1.Items.Add(New ListItem(String.Format("<a href={0}javascript:;{0} onclick={0}{1}{0}><img src={0}{2}{0} style={0}border: none{0} /></a>", c, js, img), i))
i += 1
Next img
End Sub
Private Function MyImages() As List(Of String)
Dim IMGs As New List(Of String)
IMGs.Add("images/excel.png")
IMGs.Add("images/tools_for_excel.png")
IMGs.Add("images/word.png")
Return IMGs
End Function
Eso es todo. Paso a explicar el código:
En el Page_Load lo que hago es declarar una variable llamada js = "return this.parentNode.previousSibling.checked=true;" , lo que esta línea hace es dejar marcado el radio al hacer click en la imagen… ;)
Luego simplemente a través de un bucle For añado un poco de código html a cada radio button que voy añadiendo… de esta manera se muestran las imágenes.
Y finalmente hay una función MyImages() As List(Of String) que me permita cargar las imágenes que guardo en una carpeta llamada "images/" que luego se mostrarán en cada radiobutton. Simple no?
;)
10 comentarios:
Hola, me parece muy bueno tu foro, pero queria pedirte si puedes subir 2 tutoriales:
1) Un mantenimiento con imagenes (como subir imagenes al servidor y en mi Base de Datos almacenar la ruta)
2) Como hacer un login con usuarios registrados en mi BD, y que al entrar a ciertas páginas se valide que este autentificado.
Te lo agradecería un monton.
Saludos
Te dejo mi correo darkcueva01@gmail.com
Gracias a tu post me di cuenta que existia el radiobutton list. ¿Sabes si existe algún control del .net o en ajax que te muestre una barra el progreso de una votación?
Hola Miguel,
te refieres a algo como esto?
http://tinyurl.com/barcharts
Si te refieres a otra cosa, por favor adjunta más detalles.
Si exacto gracias!
Estoy buscando la manera de implementarlo pero no encuentro. No tendrás un ejemplo de implementar ese control?
Miguel,
aquí hay un ejemplo:
http://tinyurl.com/barchart0
Saludos
a ese control funciona solamente con el framework 3.5??
Así es Miguel,
necesitarás instalar el .NET Framework 3.5 SP1
aquí está el enlace
http://tinyurl.com/5m4j75
Saludos
Yo tengo instalado el framework 2.0 y casí todo mi proyecto esta basado en ese framework, no hay problema si instalo el 3.5 no es así? y tambien funciona con el visual 2005 no es así ? Gracias por el apoyo !
Miguel,
No hay problema... Visual Studio 2005 estará feliz de usar .net 3.5
Saludos
Publicar un comentario