有这样一个需求,当客户输入卡号,查询出客户的金额,如果金客大于等于1000,提示询问客户是否对帐,如果客户选择对帐,就改对客户数据进行对帐操作(其实就是改丢这个客户的对帐标志),前提是在B/S架构下实现这个功能。
当看到这个需求时,先分解一下,来弄清数据的层次和操作的层次。
首先数据肯定是在服务器端存放,客户端需要的数据都需要从服务端得到。操作层次是客户先把卡号送到服务端,让服务判断用户金客是否大于等于1000,如果不满足条件,就向客户端提示用户金客不足1000,不能对帐,如果满足条件,就向客户端询问用户是否对帐,如果客户选择确定对帐,就让服务端更新数据标志,如果客户选择不对帐,流程就此完结。
现在从技术角度分析一下这个过程,B/S架构是基于HTTP协议,这个协议的特点是B端有请求,S端才有回应,一问一答的形式,当然不问,也就不答。现在就基于HTTP来考虑一下,当客户端提交卡号时,是客户端的第一次请求;服务端得到卡号从数据库中得到金额,然后跟据金额是否大于等于1000来向用户发送不同的请求,如果客户端大于等于1000,向客户端发的应答是带有询问提示框的,并有二次请求代码,如果客户金额少于1000,应答的是一个提示金额不足的代。
提下来的焦就是怎么在第一次应答中,带有第二次请求的代码,这里的代码是请求的代码,一定是在客户端,也当然是脚本代码了。
下面看一下代码实现:
aspx代码:
html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form , s);
}
}
}
数据库结构:
| 列名 | 数据类型 | 备注 |
| id | Int | 编号主键,自动增长 |
| number | Varchar(50) | 卡号 |
| amount | Float | 金额 |
| accmark | int | 对帐标志 |