javascript asp教程第十二课—session对象

让我们来详细讲解“javascript asp教程第十二课---session对象”的完整攻略。

什么是Session对象?

Session对象是ASP中一种非常重要的对象,它可以用来存储和检索用户会话数据。每个用户在使用Web应用程序时,都会有一个独立的Session对象与之对应,用于存储该用户的数据。Session对象可以存储任何类型的数据,比如整数、字符串、数组、对象等等。

Session对象的使用方法

1. 存储和检索数据

存储数据到Session对象中,可以使用以下方法:

Session("key") = "value"

其中,key表示存储的数据的键名,value表示存储的数据的值。例如:

Session("username") = "john"

这样就把字符串"john"存储到了Session对象中,使用键名"username"进行存储。

检索数据,可以使用以下方法:

username = Session("username")

这样就把Session对象中键名为"username"的数据取出来赋值给变量username了。

2. 删除数据

如果想要从Session对象中删除某个键值对,可以使用以下方式:

Session.Remove("key")

其中,key 表示要删除的数据的键名。

3. 销毁Session对象

当用户离开网站时,会话结束,此时需要销毁Session 对象中的数据,这可以通过以下方式实现:

Session.Abandon()

这样所有的Session数据都会被清空,Session对象也会变成新的空对象。

示例说明

以下是两个使用Session对象的示例:

示例一:使用Session对象保存用户登陆信息

<%@ Language=VBScript %>
<%
Dim username, password, pwd
username=Request.Form("username")
password=Request.Form("password")
If password="123456" Then
    pwd="OK"
    Session("username")=username
    Response.Redirect("welcome.asp")
Else
    pwd="密码不正确"
End if
%>
<html>
<head>
    <title>Login Page</title>
</head>
<body>
    <%If pwd="密码不正确" Then%>
    <h2><font color="red">密码不正确,请重新输入!</font></h2>
    <%End if%>
    <form action="login.asp" method="post">
        用户名:<input type="text" name="username" /><br /><br />
        密码:<input type="password" name="password" /><br /><br />
        <input type="submit" value="提交" />
    </form>
</body>
</html>

上面的代码展示了一个简单的登陆页面,当用户输入正确的密码时,服务器会保存用户输入的用户名到Session对象中,然后重定向到welcome.asp页面。后续的页面都可通过Session对象获取用户名信息,来判断用户是否已登陆。

示例二:购物车

<%@ Language=VBScript %>
<%
Dim arrProduct, arrQty
arrProduct = Array("电视", "电脑", "手机", "游戏机")
arrPrice = Array(2000, 3000, 1500, 1000)
arrQty = Array(0, 0, 0, 0)

If Request.Form("submit") <> "" Then         
    For i = 0 to UBound(arrProduct)
        arrQty(i) = Request.Form("qty" & i)
        If arrQty(i) <> "" Then
            Session(arrProduct(i) & "Qty") = CInt(Session(arrProduct(i) & "Qty")) + CInt(arrQty(i))
            Session(arrProduct(i) & "Price") = arrPrice(i)
        End If
    Next
End If 
%>
<html>
<head>
    <title>购物车</title>
</head>
<body>
    <h2>购物车</h2>
    <table>
        <tr>
            <td>商品</td>
            <td>单价</td>
            <td>数量</td>
        </tr>
        <%For i = 0 to UBound(arrProduct)%>
        <tr>
            <td><%=arrProduct(i)%></td>
            <td><%=arrPrice(i)%>元</td>
            <td>
                <form action="" method="post">
                    <input type="text" name="qty<%=i%>" size="2" />(库存:<%=100-i%>)
                    <input type="submit" name="submit" value="添加到购物车" />
                </form>
            </td>
        </tr>
        <%Next%>
    </table>
    <h2>我的购物车</h2>
    <table>
        <tr>
            <td>商品</td>
            <td>数量</td>
            <td>小计</td>
        </tr>
        <%Dim total
        total = 0
        For i = 0 to UBound(arrProduct)
            qty = Session(arrProduct(i) & "Qty")
            If qty > 0 Then
                price = Session(arrProduct(i) & "Price")
                subTotal = price * qty
                total = total + subTotal
        %>
        <tr>
            <td><%=arrProduct(i)%></td>
            <td><%=qty%></td>
            <td><%=subTotal%>元</td>
        </tr>
        <%End If
        Next%>
    </table>
    <h2>总计:<%=total%>元</h2>
</body>
</html>

上面的代码演示了一个购物车应用,当用户点击“添加到购物车”按钮时,服务器会把选择的数量添加到Session对象中相应的商品键名的数量上。在购物车页面中,通过Session对象来获取之前添加的商品数量和单价,计算总价并展示出来。

以上就是“javascript asp教程第十二课---session对象”的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:javascript asp教程第十二课—session对象 - Python技术站

(0)
上一篇 2023年6月11日
下一篇 2023年6月11日

相关文章

  • 跟我学习javascript的this关键字

    当编写 JavaScript 代码时,经常会使用 this 关键字。它可以引用当前上下文中的对象,其行为特点是动态绑定。但是,该关键字在不同的上下文环境中使用可能会产生不同的结果,这常常导致初学者的困惑。本文将深入讲解 JavaScript 的 this 关键字, 帮助初学者理解并正确运用它。 1. this关键字指向全局对象 在全局环境中,使用 this …

    JavaScript 2023年6月10日
    00
  • javascript 面向对象编程基础 多态

    JavaScript 是一门支持面向对象编程(Object Oriented Programming,OOP)的语言,而多态作为面向对象编程的三大特性之一,对于我们编写复杂的应用程序来说,非常重要。 多态的概念及好处 多态是指同一个接口,不同的表现形态。在程序中,就是指一个类实例化之后,可以有多种不同的形态。 多态的好处是,增强程序的灵活性以及可扩展性。当我…

    JavaScript 2023年5月27日
    00
  • JavaScript实现可动的canvas环形进度条

    下面我将详细讲解“JavaScript实现可动的canvas环形进度条”的完整攻略。该攻略的实现需要使用到HTML5的canvas技术。 步骤一:创建canvas 要实现canvas环形进度条,我们首先需要在HTML文档中创建一个canvas元素,代码如下: <canvas id="canvas" width="200&q…

    JavaScript 2023年6月10日
    00
  • Vue+webpack+Element 兼容问题总结(小结)

    Vue+webpack+Element 兼容问题总结(小结) 在Vue、webpack和Element的结合使用过程中,可能会出现兼容性问题,常见的问题包括但不限于CSS样式冲突、ES6语法兼容和loader错误等,本文将对这些问题进行总结和解决。 CSS样式冲突 问题描述 Vue项目中引用Element,而Element中的样式与自己项目中的样式冲突,导致…

    JavaScript 2023年6月10日
    00
  • JS数组push、unshift、pop、shift方法的实现与使用方法示例

    JS数组方法push、unshift、pop、shift实现及使用方法 push方法 push() 方法用于在数组末尾添加一个或多个元素,并返回数组的长度。 语法 arrayObject.push(newelement1,newelement2,….,newelementX) 示例 var fruits = ["Banana", &q…

    JavaScript 2023年5月27日
    00
  • Javascript Date toDateString() 方法

    以下是关于JavaScript Date对象的toDateString()方法的完整攻略,包括两个示例说明。 JavaScript Date对象的toDateString()方法 JavaScript的toDateString()方法返回一个表示对象日期部分的字符串,该字符串格式为英文的星期几、英文的月份、日期和年份。 下面是使用对象的toDateStrin…

    JavaScript 2023年5月11日
    00
  • 原生js实现中奖信息无间隙滚动效果

    中奖信息无间隙滚动效果通常是在网页中的信息滚动区域,而且信息要连贯无缝滚动,没有间隙。实现这个效果的方法有很多,下面我来介绍一种基于原生JS实现的方法。 实现原理 在这个效果中,需要用到三个信息块,从上往下分别为当前显示块、上一个块、下一个块。通过修改它们的CSS属性,可以实现连续无缝滚动的效果。 首先在HTML中创建滚动区域并添加三个信息块: <di…

    JavaScript 2023年6月11日
    00
  • JavaScript初级教程(第五课)

    JavaScript初级教程(第五课) 完整攻略 1. 概述 JavaScript初级教程(第五课)讲解了JavaScript的循环结构,包括for循环、while循环和do-while循环。循环结构是程序中非常关键的一部分,可以用于反复执行相同的代码块或者根据条件执行代码块。 2. for循环 for循环是循环结构中最常见的一种,语法如下: for (in…

    JavaScript 2023年5月18日
    00
合作推广
合作推广
分享本页
返回顶部