Pues si, el otro día quise hacer un control calendario, cargando X datos para cada día utilizando el control Calendar que trae ASP.Net. El problema residia en que si clicas en un dia del control, realiza un PostBack y esto no me interesaba...quería que apareciera un div al clicar en el dia y no me hiciera el PostBack. Googleando, no encontré solución alguna...pero hice un truquillo para resolver mi problema.
Al cargar datos, que lo hago en el evento DayRender del control Calendar, puedo eliminar toda la celda del dia y añadir de nuevo un label con dia de la fecha, es decir:
'Recogemos el literal de la celda del dia
Dim a As System.Web.UI.LiteralControl = day.Cell.Controls.Item(day.Cell.Controls.Count - 1)
'Aqui recoger el valor del dia y lo pasamos a un label
Dim lbl As New Web.UI.WebControls.Label
lbl.Text = a.Text
'Le podemos añadir por javascript que el mouse se convierta en un dedo clicable al pasar por encima del dia
lbl.Attributes("onmouseover") = "this.style.cursor = 'default';"
'Borramos todo el control, asi quitamos el postback que trae el literal, y añadimos el lbl que no tiene postback
day.Cell.Controls.Clear()
day.Cell.Controls.Add(lbl)
Así evitaremos que nos haga postback y podremos añadir todo el javascript que deseemos!!
Saludos a todos y encantado de recibir algun comentario!
viernes, 27 de marzo de 2009
Suscribirse a:
Enviar comentarios (Atom)
pero....... "day" que es? de donde lo sacas
ResponderEliminar