Cómo funciona

Este ejemplo utiliza un archivo, Prefer.asp, el cual crea un formulario HTML que envía información de vuelta a la misma página ASP. Cuando se crea una página para guardar valores de configuración en cookies, no se suele utilizar este método. En su lugar, se utiliza una página para almacenar la configuración y otras páginas de la aplicación para leerlas de nuevo. En primer lugar, esta página ASP comprueba si el formulario HTML se ha enviado de vuelta a la página ASP. En caso afirmativo, se crean dos cookies mediante Visual Basic, Scripting Edition (VBScript) en el servidor.

If Len(Request("BGColor")) > 0 then
   Response.Cookies("BGColor") = Request("BGColor")
   Response.Cookies("FGColor") = Request("FGColor")
End If

Después, el código comprueba si ya se ha escrito una cookie denominada BGColor. Si no hay ninguna, la página no ha guardado ninguna preferencia y debe establecerse el índice de los cuadros de lista desplegables en 0. Si las cookies existen, se leen y se asignan a variables que se deben colocar en el código JavaScript del cliente.

If Request.Cookies("intBGColor") = "" then
   intBG = 0
   intFG = 0
Else
   intBG = Request.Cookies("intBGColor")
   intFG = Request.Cookies("intFGColor")
End If

La etiqueta BODY se utiliza para establecer el color de fondo y llamar a una función que establece los valores de índice de los cuadros de lista desplegables.

<BODY BGCOLOR=<%= Request.Cookies("BGColor")%> ONLOAD="setcolor()">

La función SetColor utiliza JavaScript para establecer los valores de índice. El código obtiene los valores de las cookies que se leyeron usando el código VBScript del servidor.

function setcolor() {
   document.Pref.BGColor.selectedIndex = <%=intBG%>;
   document.Pref.FGColor.selectedIndex = <%=intFG%>;
}

El color de primer plano se establece mediante la etiqueta FONT.

<FONT COLOR=<%=Request.Cookies("FGColor")%>>

El resto de la página crea un formulario que, cuando se envíe, llamará a una función que escriba los valores de índice de los cuadros de lista desplegables en cookies y enviará la información de vuelta a la misma página ASP.