永发信息网

用ASP.net编多选题(代码)

答案:2  悬赏:40  手机版
解决时间 2021-02-23 17:05
  • 提问者网友:且恨且铭记
  • 2021-02-23 08:30
谁能用ASP.net编多选题,有代码吗。
最佳答案
  • 五星知识达人网友:一把行者刀
  • 2021-02-23 09:40



<%

sql="select * from systemtable where 是否考试='1'"
set rs=server.createobject("adodb.recordset")
rs.open sql,Conn,3,2

subject=rs("科目")
subject=trim(subject)
singlecount=rs("单选题题量")
singleper=rs("单选题分数")
multicount=rs("多选题题量")
multiper=rs("多选题分数")
judgecount=rs("判断题题量")
judgeper=rs("判断题分数")
fillcount=rs("填空题题量")
fillper=rs("填空题分数")
subjectivitycount=rs("大题题量")
subjectivityper=rs("大题分数")
testtime=rs("时间")
testid=request.cookies("TestId")
response.cookies("subject") = subject
Bj = Request.cookies("Bj")
testid=request.cookies("TestId")
rs.close
set rs=nothing

%>
<%
score=0
score1=0
score2=0
j=0
bz=1
'for each element in request.form
' for i=1 to request.form(element).count
for each cookiesname in request.cookies

'for i=1 to request.cookies(cookiesname).haskeys
if instr(cookiesname,"NO")<>0 then
ID=mid(cookiesname,13)

result=request.cookies(cookiesname)
' response.write result

'q = request.Cookies(cookiesname).haskeys
' response.write q
sql="select * from "&subject&" where ID="& cint(ID)
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,3,2

if rs("题型")="单选题 " then
if result=rs("正确答案") then
score=score+cint(singleper)
end if
end if

if rs("题型")="多选题 " then
answer=rs("正确答案")
answercount=len(answer)
'response.Write answercount

if request.cookies("NO_multi*_1_" & rs("ID")) ="A"then
tm="A|"
tmt="A"
else
tm=" |"
end if
if request.cookies("NO_multi*_2_" & rs("ID")) ="B"then
tm=tm & "B|"
tmt=tmt & "B"
else
tm=tm & " |"
end if
if request.cookies("NO_multi*_3_" & rs("ID")) ="C"then
tm=tm & "C|"
tmt=tmt & "C"
else
tm=tm & " |"
end if
if request.cookies("NO_multi*_4_" & rs("ID")) ="D"then
tm=tm & "D|"
tmt=tmt & "D"

else
tm=tm & " |"

end if
strnum = split(tm,"|") '学生答案数组
strnumcount=len(tmt) '学生答案长度
'response.Write strnum(0)
'response.Write strnum(1)
'response.Write strnum(2)
'response.Write strnum(3)
'response.Write tm
'response.Write tmt

if strnumcount>answercount then
score1=0
end if
if strnumcount=answercount then
if instr(answer,tmt)<>0 then
score1=cint(multiper)
else
score1=0
end if
end if
if strnumcount

Str="B,D"
if Str=Answer then
'给全分
elseif instr(Str,Answer)>0 then
'给一半分
else
'不给分
end if
全部回答
  • 1楼网友:怙棘
  • 2021-02-23 09:54
.............这么复杂东西? random 这个类就可以做了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯