This code currently assumes IE as the browser... I will work on porting the code to work in Netscape. But it does demonstrate that it is possible to create / change session variables from script.
The Session variable "MyVar" contains: <%=Session("MyVar")%> <p>Update it to <input type=text ID="txtSession" size=50 value="<%=Now()%>"> <p> <input type=button value="Set Session var via hidden image" onClick="SetSessionIMG()"><br> <input type=button value="Set Session var via hidden IFRAME" onClick="SetSessionIFRAME()"><br> <input type=button value="Set Session var via XMLHTTP" onClick="SetSessionXMLHTTP()"><br> </p> <p><a href="ClientSession.asp?random=<%=server.URLEncode(Now())%>">Refresh this page</a> <img src="" ID="imgDummy" width="0" height="0" style="display:none;"> <iframe src="" ID="iframeDummy" width="0" height="0" style="display:none;"></iframe> <script language="VBScript"> sub SetSessionIMG sValue = trim(document.all("txtSession").value) set objImg = document.all("imgDummy") objImg.src = "SetValue.asp?SessionVar=" & Escape(sValue) end sub sub SetSessionIFRAME sValue = trim(document.all("txtSession").value) set objIFrame = document.all("iframeDummy") objIFrame.src = "SetValue.asp?SessionVar=" & Escape(sValue) end sub sub SetSessionXMLHTTP sValue = trim(document.all("txtSession").value) set obj = CreateObject("Microsoft.XMLHTTP") obj.Open "GET", "SetValue.asp?SessionVar=" & Escape(sValue), False obj.Send end sub </script> |
The code in SetValue.asp would be fairly simple:
<% Session("myVar") = Request.QueryString("SessionVar") %> |