ASP生成静态网页,学习CASE的用法,以及“权限”的一种控制方法
<form action="calscore.asp?action=do" method="post" name=form1> ... </form>
<!--#include file="connect.asp"-->
<% if session("logstatus")<>1 then %>
<p align="center">
<font size="5" ><b>你还没有登录,没有权利浏览本页,请先<a href="login.asp">登录</a>!</b></font></p>
<%
else
'读取login.htm附带的SubjectNo、StudentID及Name参数值
Subject=Request("Subject")
StudentID=Request("StudentID")
Name=Request("Name")
******** 路径和文件的建立 ********************************************************************
'格式化日期
Function format(date)
format=datepart("yyyy",date)&;amp;"年"&;amp;datepart("m",date)&;amp;"月"&;amp;datepart("d",date)&;amp;"日&;amp;nbsp;"&;amp;formatdatetime(date,vbshorttime)
End Function
dim fmonth,fday,fhour,fminute,fsecond
fmonth=month(date)
if len(month(date))<2 then fmonth="0"&;amp;month(date) end if
fday=day(date)
if len(day(date))<2 then fday="0"&;amp;day(date) end if
fhour=hour(now())
if len(hour(now()))<2 then fhour="0"&;amp;hour(now()) end if
fminute=minute(now())
if len(minute(now()))<2 then fminute="0"&;amp;minute(now()) end if
fsecond=second(now())
if len(second(now()))<2 then fsecond="0"&;amp;second(now()) end if
newspath=year(date)&;amp;fmonth&;amp;fday
newsurl=fhour&;amp;fminute&;amp;fsecond
putdate=format(now())
if request("action")="do" then
path=server.MapPath("kaoshi") /.定义的一个文件
set fso=server.CreateObject("Scripting.FileSystemObject")
if fso.FolderExists(path)=false then
fso.CreateFolder(path)
end if
path=path&;amp;"/"&;amp;newspath
if fso.FolderExists(path)=false then
fso.CreateFolder(path)
end if
path=path&;amp;"/"&;amp;newsurl&;amp;".shtml" /.生成SHTML页面
set ts=fso.OpenTextFile(path,2,true,-2)
******** 生成HTML页面 ***********************************************************************
ts.writeline"<html>"
ts.writeline"<head>"
ts.writeline"<title>"&;amp;name&;amp;""
ts.writeline","&;amp;subject&;amp;""
ts.writeline" - 成绩结果</title>"
ts.writeline"<meta http-equiv=""Content-Type"" content=""text/html; charset=gb2312"">"
ts.writeline"<link rel=""stylesheet"" href=""css.css"" type=""text/css"">"
ts.writeline"</head>"
ts.writeline""
ts.writeline"<body bgcolor=""#FFFFFF"" text=""#000000"">"
ts.writeline"<table width=""100%"">"
ts.writeline"<tr>"
ts.writeline"<td width=""100%"">"
ts.writeline"<h2>"
ts.writeline""&;amp;Name&;amp;""
ts.writeline",你的考试成绩如下表:</h2>"
dim score
score=0
sqlt="select * from 考题类型"
rst.open sqlt,conn,1,1
do while not rst.eof
tn=rst("id")
tname=rst("name")
ts.writeline"<b>"
ts.writeline""&;amp;tname&;amp;""
ts.writeline"</b><br><br>"
sql="Select * From "&;amp;Subject&;amp;" where 题目类型="&;amp;tn&;amp;" order by 题目序号"
rs.open sql,conn,2,2
while not rs.eof
answer=rs("正确答案")
select case rs("题目类型")
case 1:
selection=Request("No"&;amp;rs("题目序号"))
ts.writeline rs("题目序号")
ts.writeline"、"&;amp;selection&;amp;"<br>"
case 2:
selection=""
for n=1 to 4
if not Request("No"&;amp;rs("题目序号")&;amp;"-"&;amp;n)="" then
selection=selection&;amp;Request("No"&;amp;rs("题目序号")&;amp;"-"&;amp;n)
end if
next
ts.writeline rs("题目序号")
ts.writeline" 、"&;amp;selection&;amp;"<br>"
case 3:
selection=Request(rs("选择项1"))
ts.writeline rs("题目序号")
ts.writeline"、"&;amp;selection&;amp;"<br>"
case else:
selection=Request(rs("选择项1"))
ts.writeline rs("题目序号")
ts.writeline"、"
ts.writeline"<font color=red>未确定评分规则!</font><br>"
ts.writeline""&;amp;selection&;amp;"<br>"
end select
if answer=selection then
score=score rs("本题分数")
end if
rs.movenext
wend
rs.close
ts.writeline"<br>"
rst.movenext
loop
'response.write score
'response.end
ts.writeline"<br>"
ts.writeline"<font color=red>评分:</font>"
ts.writeline""&;amp;score&;amp;""
ts.writeline"<br>"
ts.writeline"</td></tr></table>"
ts.writeline"</body>"
ts.writeline"</html>"
end if
%>
|