Esta página vende excelentes productos, como tabs, menús, acordeones (accordions), etc.
En esta página hay un código javaScript que te permite hacer menús de tipo acordeón.
Claro que lo puedes aplicar a otras cosas que no sean menús.
http://www.hedgerwow.com/360/mwd/accordion/demo.php
Es gratuito.
Aquí encontrarás un buen código para crear Tooltips usando javaScript.
Es gratuito.
El ArrayList me resulta ser más útil que el Array regular.
Aquí hay algunos ejemplos:
Declaración de un ArrayList
-
Dim AL As ArrayList = New ArrayList
Añadir un elemento
-
AL.Add("hola")
Ordenarlo
-
AL.Sort()
Ordenarlo al revés
-
AL.Reverse()
Remover duplicados
-
Shared Function RemoverDuplicados(ByVal ElArreglo As ArrayList) As ArrayList
-
-
Dim ret As ArrayList = New ArrayList()
-
Dim elemento As Object
-
For Each elemento In ElArreglo
-
If Not ret.Contains(elemento) Then
-
ret.Add(elemento)
-
End If
-
Next
-
RemoverDuplicados = ret
-
-
End Function
Para manipular las cookies del cliente mediante ASP.NET 2, utiliza los siguientes ejemplos.
Recuerda que una sola Cookie puede guardar varios valores. Esto se logra mediante la colección Values.
Para crear una Cookie
-
Dim Galleta As HttpCookie
-
Galleta = New HttpCookie("datos")
-
Galleta.Values.Add("nombre", Nombre.Text)
-
Galleta.Expires = DateTime.MaxValue 'Nunca caduca
-
Response.AppendCookie(Galleta)
Para obtener el valor de una Cookie
-
Dim Galleta As HttpCookie
-
Galleta = Request.Cookies("datos")
-
Nombre.Text = Galleta.Values("nombre")
Para probar si una determinada Cookie existe
-
Dim PruebaGalleta As HttpCookie
-
PruebaGalleta = Request.Cookies("datos")
-
-
If PruebaGalleta Is Nothing Then
-
'No existe
-
Else
-
'Existe
-
End If
Para modificar una Cookie
-
Dim Galleta As HttpCookie
-
Galleta = Request.Cookies("datos")
-
Galleta.Values.Set("nombre", Nombre.Text)
-
Galleta.Expires = DateTime.MaxValue 'Nunca caduca
-
Response.Cookies.Set(Galleta)
Para eliminar una Cookie
-
Response.Cookies.Remove("datos")
La mejor manera que he visto de centrar una tabla (o cualquier contenido) verticalmente en la ventana del navegador, la encontré en Dead Centre.
Resumí lo que encontré ahí para hacerlo más entendible:
En tu hoja de estilos pon estas dos clases:
-
.horizonte
-
{
-
color: #000000;
-
background-color: #ff0000;
-
text-align: center;
-
position: absolute;
-
top: 50%;
-
left: 0px;
-
width: 100%;
-
height: 1px;
-
overflow: visible;
-
visibility: hidden;
-
/*visibility: visible; Activa esta linea si quisieras ver donde esta el horizonte*/
-
display: block;
-
}
-
-
.contenido
-
{
-
-
margin-left: -250px;
-
position: absolute;
-
top: -250px;
-
left: 50%;
-
width: 500px;
-
height: 500px;
-
visibility: visible;
-
}
La clase llamada horizonte posiciona contenido exactamente en la mitad de la pantalla, esto lo logra con el top=50%; Su altura es un pixel y su visibilidad es hidden porque no queremos que se vea, es solamente un lugar donde posicionaremos nuestro contenido. Ojo: Como su overflow es visible no importa que el contenido sea más alto que un pixel, más información sobre esto aquí.
Lo que debes de modificar en la hoja de estilos anterior es el width y el height de acuerdo a tu contenido. Cuando lo hagas, también modifica margin-left y top. Nota que son los mismos valores que width y height pero divididos entre 2 y con número negativo.
Y este es el código donde colocas tu información:
Aquí también modifica width y height en la tabla para que concuerden con los valores que pusiste en la hoja de estilos.
* Funciona en Internet Explorer y Firefox.
La propiedad overflow de CSS define qué ocurre cuando el tamaño del contenido sobrepasa el tamaño del área que la contiene.
Es útil para colocar un scrollbar a un elemento DIV.
A continuación pongo un ejemplo y 4 imágenes que muestran cómo se ve con cada diferente opción.
La definición de la hoja de estilos
-
.divScrolls {
-
font-family: Arial;
-
font-size: 10px;
-
background-color:#FFCC99;
-
-
overflow:auto; /* Este valor hay que irlo cambiando para cada ejemplo */
-
width: 300px;
-
height: 300px;
-
}
El HTML ejemplo
-
<div class="divScrolls">
-
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean a nisl ac nibh ultrices elementum. Suspendisse potenti. Etiam eros elit, sollicitudin a, pretium nec, consequat blandit, elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Phasellus ac nunc. Nullam elementum arcu pellentesque nisi. Duis a nulla vel metus placerat porta. Etiam ullamcorper hendrerit ante. Sed eleifend nisl id lectus. Cras est. Curabitur nec dui. Integer venenatis, sapien in adipiscing luctus, turpis dolor porttitor nisi, id laoreet mi nunc vel dolor. Sed libero justo, dapibus vitae, tempus vitae, feugiat id, risus. Etiam blandit blandit justo. Phasellus lobortis, leo vitae pellentesque cursus, leo mauris elementum felis, a facilisis nisi felis ac nisl.
-
Proin libero elit, condimentum vitae, congue non, fermentum id, magna. Maecenas ipsum neque, pulvinar feugiat, fermentum nec, ultrices non, elit. Fusce in neque vel augue aliquet interdum. Etiam malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed sollicitudin odio vitae odio sagittis feugiat. Vivamus laoreet purus in nisl congue egestas. Proin dui risus, aliquet nec, ornare eget, hendrerit ut, felis. Maecenas imperdiet venenatis nisi. Donec vestibulum orci adipiscing lectus. Morbi venenatis, pede vitae pretium porttitor, sapien diam vulputate libero, in sagittis purus urna vel risus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
-
Morbi rhoncus porta lectus. Ut volutpat quam sit amet mauris. Curabitur egestas. Maecenas placerat nibh ac enim. Cras neque neque, adipiscing eu, posuere vitae, eleifend eget, felis. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nulla at nisi quis turpis suscipit faucibus. Nulla eget nisi. Nulla dignissim scelerisque ipsum. Vivamus malesuada odio at purus. Nulla porttitor, justo eu fringilla suscipit, quam lectus iaculis odio, et volutpat pede tellus et elit. Donec quis purus et purus luctus aliquam. Cras est neque, scelerisque et, vestibulum ullamcorper, eleifend mollis, massa. Morbi iaculis nisi non erat. Etiam dolor ante, dapibus nec, venenatis quis, tempus non, nisi. Nam aliquet tortor nec mi. Sed massa arcu, consectetuer ac, volutpat sit amet, tempus sit amet, pede. Donec rhoncus mattis dolor. Nulla purus erat, nonummy quis, scelerisque vitae, ornare at, enim.
-
</div>
Muestras
visible
Es el valor por default. Si el contenido no cabe, no se ajusta, se sale del elemento.

hidden
El contenido se ajusta al área, pero no se despliega ningún scrollbar para visualizar la parte que no se ve.

scroll
El contenido se ajusta, y se despliega un scrollbar que permite ver el resto del contenido.

auto
Si el contenido se ajusta, el navegador despliega un scrollbar.

Si queremos tener un fondo semi transparente y un texto opaco encima, quizás lo primero que se nos ocurra sea crear un estilo que contenga filter:alpha(opacity=10); y -moz-opacity:0.1; y luego aplicárselo a un DIV o celda y colocar todo nuestro contenido ahí.
Bueno, lo anterior no sirve porque debido a que el texto se encuentra dentro del mismo bloque, también se hace transparente.
Lo que debemos hacer es crear dos bloques (DIV o celda) distintos: uno para el fondo semi transparente y otro para el texto (o contenido) que va encima. Y luego colocar uno encima del otro.
Esto se hace de la siguiente manera.
Hoja de estilos
-
.dppal {
-
position: absolute;
-
}
-
-
.dfondo {
-
width: 200px; height: 200px;
-
background-color: #ff0000;
-
filter:alpha(opacity=20);
-
-moz-opacity:0.2;
-
opacity: 0.2;
-
padding:10px;
-
}
-
-
.dtexto {
-
width: 200px; height: 200px;
-
background-color: transparent;
-
position: absolute;
-
z-index: 2;
-
padding:10px;
-
}
Referencia:
http://developer.mozilla.org/en/docs/Useful_CSS_tips:Color_and_Background
Para maximizar la ventana del navegador utilizando javascript, debes usar el siguiente código:
-
window.moveTo(0,0);
-
window.resizeTo(screen.availWidth, screen.availHeight);
¿Dónde colocarlo?
Si quieres que cuando alguien haga clic en un vínculo, la ventana se maximice, entonces colócalo en el hipervínculo, así:
-
<a href="#" onClick="window.moveTo(0,0);window.resizeTo(screen.availWidth, screen.availHeight);">Haz clic aquí para maximizar esta ventana</a>
Si quieres abrir un pop-up y que éste se maximice al abrirse, entonces coloca el código en el body de la página del popup, para que se ejecute apenas se abra éste:
-
<body onLoad="window.moveTo(0,0);window.resizeTo(screen.availWidth, screen.availHeight);">
Por cierto, si tu página es un frameset, también funciona:
-
<frameset rows="100,*,100" frameborder="no" border="0" framespacing="0" onLoad="window.moveTo(0,0);window.resizeTo(screen.availWidth, screen.availHeight);">
Probado en Internet Explorer y Firefox.
En este post veremos cómo implementar un mensaje de confirmación con javascript para borrar un registro en un GridView.
Debes tener un GridView y un ObjectDataSource similares a estos:
-
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="ObjectDataSource1" AllowPaging="True" AllowSorting="True" CellPadding="0" PageSize="30" GridLines="None" Width="100%" DataKeyNames="id">
-
<Columns>
-
<asp:BoundField DataField="id" HeaderText="ID" InsertVisible="False" SortExpression="id" />
-
<asp:BoundField DataField="usuario" HeaderText="Usuario" SortExpression="usuario" />
-
-
<asp:TemplateField HeaderText="Eliminar">
-
<ItemTemplate>
-
<asp:LinkButton ID="LinkButton1"
-
CommandArgument='<%# Eval("id") %>'
-
CommandName="Delete" runat="server">
-
Eliminar</asp:LinkButton>
-
</ItemTemplate>
-
</asp:TemplateField>
-
-
</Columns>
-
-
<EmptyDataTemplate>
-
No existen registros.
-
</EmptyDataTemplate>
-
</asp:GridView>
-
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" OldValuesParameterFormatString="{0}"
-
SelectMethod="ObtenParaGridView" TypeName="BLLComentario" DeleteMethod="BorraComentario">
-
<DeleteParameters>
-
<asp:Parameter Name="id" Type="Int32" />
-
</DeleteParameters>
-
</asp:ObjectDataSource>
Ahora bien, para agregar el javascript necesario para realizar la confirmación, debemos valernos del evento GridView1_RowDataBound, así:
-
Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
-
'Anadir javascript de confirmacion para cada linkbutton
-
If e.Row.RowType = DataControlRowType.DataRow Then
-
Dim Lb As LinkButton = e.Row.FindControl("LinkButton1")
-
Lb.Attributes.Add("onclick", "javascript:return confirm('¿Está seguro de que desea eliminar el registro con ID=" & DataBinder.Eval(e.Row.DataItem, "id") & "?')")
-
End If
-
End Sub
Y listo, obtendremos una confirmación como esta:
