Si quieres evitar eso tienes varias opciones pero más liosas, te doy una idea ...
Suponiendo que estás haciendo el carrito a partir de una base de datos y no una matriz guardada en una variable de sesión:
- Puedes dejar ese sistema y hacer uno nuevo en el que envíes una variable por url (por ejemplo carrito.asp?ASPSESSION...=laquesea). Al principio podrías comprobar si ese usuario tiene las cookies activadas y si no es así envías el valor por url, si no mantendrías el que tienes.
Aqui tienes una función que te puede servir de ayuda:
Function CookiesActivas
'Creamos el objeto del navegador
Dim TipoNavegador
Set TipoNavegador = Server.CreateObject("MSWC.BrowserType")
'Comprobamos el estado de las cookies en el navegador del cliente
If TipoNavegador.Value("cookies") = True Then
'Cookies están activadas
CookiesActivas = True
Else
'Cookies están desactivadas
CookiesActivas = False
End If
'Limpiamos todo antes de salir de la sesión
Set TipoNavegador = Nothing
End Function
Puedes ver algo más en páginas como esta ...
http://builder.com.com/5100-6373-1044890.html