ASP生成静态网页,学习CASE的用法,以及“权限”的一种控制方法

类别:Asp 点击:0 评论:0 推荐:

<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)&"年"&datepart("m",date)&"月"&datepart("d",date)&"日&nbsp;"&formatdatetime(date,vbshorttime)
End Function
dim fmonth,fday,fhour,fminute,fsecond
fmonth=month(date)
if len(month(date))<2 then fmonth="0"&month(date) end if
fday=day(date)
if len(day(date))<2 then fday="0"&day(date) end if
fhour=hour(now())
if len(hour(now()))<2 then fhour="0"&hour(now()) end if
fminute=minute(now())
if len(minute(now()))<2 then fminute="0"&minute(now()) end if
fsecond=second(now())
if len(second(now()))<2 then fsecond="0"&second(now()) end if
newspath=year(date)&fmonth&fday
newsurl=fhour&fminute&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&"/"&newspath
if fso.FolderExists(path)=false then
fso.CreateFolder(path)
end if
path=path&"/"&newsurl&".shtml"  /.生成SHTML页面

set ts=fso.OpenTextFile(path,2,true,-2)

******** 生成HTML页面  ***********************************************************************
ts.writeline"<html>"
ts.writeline"<head>"
ts.writeline"<title>"&name&""
ts.writeline","&subject&""
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""&Name&""
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""&tname&""
ts.writeline"</b><br><br>"

sql="Select * From "&Subject&" where 题目类型="&tn&" order by 题目序号"
rs.open sql,conn,2,2
while not rs.eof
 answer=rs("正确答案")
 select case rs("题目类型")
  case 1:
  selection=Request("No"&rs("题目序号"))
ts.writeline rs("题目序号")
ts.writeline"、"&selection&"<br>"
  case 2:
        selection=""
       for n=1 to 4
  if not Request("No"&rs("题目序号")&"-"&n)="" then
         selection=selection&Request("No"&rs("题目序号")&"-"&n)
  end if
        next
ts.writeline rs("题目序号")       
ts.writeline" 、"&selection&"<br>"
  case 3:    
        selection=Request(rs("选择项1"))
ts.writeline rs("题目序号")        
ts.writeline"、"&selection&"<br>"
        case else:
        selection=Request(rs("选择项1"))
ts.writeline rs("题目序号")
ts.writeline"、"        
ts.writeline"<font color=red>未确定评分规则!</font><br>"
ts.writeline""&selection&"<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""&score&""
ts.writeline"<br>"
ts.writeline"</td></tr></table>"
ts.writeline"</body>"
ts.writeline"</html>"
end if
%>

本文地址:http://com.8s8s.com/it/it7897.htm