您的位置:首页精文荟萃软件资讯 → 如何使用ASP产生象安装向导的主页

如何使用ASP产生象安装向导的主页

时间:2004/10/7 19:04:00来源:本站整理作者:蓝点我要评论(0)


            
             
              
             
            

               
               

            



            如何使用ASP产生象安装向导的主页

面临的主要问题何在:

1。界面和一个Windows Wizard完全一样,有Next和Back按钮
2。用户可以使用Back按钮回到以前的任何一步,并且能够改变以前任何一步中已经选择的内容
3。Form必须记住所有填入的内容
4。不能够使用数据库
5。不能够使用Sessions,防止如果Sessiosn失效后用户的所有输入丢失,不幸的是,也不能够使用cookie
因为很多拥护经常关掉浏览器的Cookie选项。
6。可移植性要好,因为它要适应安装步数不同时的情况

解决方案:
1。使用hidden变量传递参数
2。使用POST方式,不使用GET方式,因为这种方式受长度限制
3。每一个页面都必须有一个用来读取提交值的函数
4。每一个页面(除了第一个页面外)都必须要有一个hidden form 来向前一页传递参数


如果在你的页面中使用了Checkboxes或则使用了radio buttons,请使用以下代码读数值:
<% For Each Item in Request.Form
If Request.Form(Item).Count Then
For intLoop = 1 to Request.Form(Item).Count
Response.Write "Item = " & Item & " Index = " & intLoop & "
"
Next
Else
Response.Write "Item = " & Item & "
"
End If
Next
%>

在设计是,对checkboxes和radio采用了特殊的处理方法:
1。只有最新的数值才被考虑使用这两种方式保存
2。用户可以使用Back来改变前面输入的数值,但必须要使用Next提交后才能够生效
3。页面必须要能够应付一个页面有多个controls的情况

具体实现方法:
第N个页面应该有:
1。第一个form:它的ACTION= page(N+1).asp和它底部必须有Next按钮
2。第二个form:它的ACTION= page(N-1).asp和Back按钮
3。变量命名规则:举例:N_ 后缀是控件类型.
是表示第二页的一个name是radio的东西
4。一个用来读取提交的函数

页面根据一个循环来判断当前的控件是属于哪一页的。
代码如下:
<%@LANGUAGE="VBSCRIPT %>









<%
pageno = "_P2"
For Each Item in Request.Form
WhichPage = InStr(1,CStr(Item), pageno,1)
If ((Request.Form(Item).Count) AND (WhichPage = 0)) Then
strCount = Request.Form(Item).Count
strItem = Request.Form(Item)(strCount)
Response.Write "" &VbCrLf
ElseIf (NOT(Request.Form(Item).Count) AND (WhichPage = 0)) Then
Response.Write "" &VbCrLf
End If
Next
%>

<1-- 读入函数结束 -->



<%
Function Check_UnCheck(ctrlName, ctrlValue)
Dim ctrlName_in
Dim ctrlValue_in
Dim ctrlValue_actual
Dim outStr

ctrlValue_in =""
ctrlName_in = ""
ctrlValue_actual = ""
outStr = ""
ctrlName_in = ctrlName_in & ctrlName
ctrlValue_in = ctrlValue_in & ctrlValue

If Request.Form(ctrlName_in).Count Then
strCount = Request.Form(ctrlName_in).Count
ctrlValue_actual = Request.Form(ctrlName_in)(strCount)
If ctrlValue_actual = ctrlValue_in Then
outStr = "CHECKED"
End If
Else
ctrlValue_actual = Request.Form(ctrlName_in)
If ctrlValue_actual = ctrlValue_in Then
outStr = "CHECKED"
End If
End If
Check_UnCheck = outStr
End Function
%>



<%
strItem1 = ""
strItem1a = ""
For Each Item1 in Request.Form
If Request.Form(Item1).Count Then
strCount1 = Request.Form(Item1).Count
strItem1 = Request.Form(Item1)(strCount1)
Response.Write "" &VbCrLf
strCount1 = ""
strItem1 = ""
Else
strItem1a = Request.Form(Item1)
Response.Write "" &VbCrLf
End If
Next

strItem1 = ""
strItem1a = ""
%>

相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 360快剪辑怎么使用 36金山词霸如何屏幕取词百度收购PPS已敲定!3

最新文章 微信3.6.0测试版更新了微信支付漏洞会造成哪 360快剪辑怎么使用 360快剪辑软件使用方法介酷骑单车是什么 酷骑单车有什么用Apple pay与支付宝有什么区别 Apple pay与贝贝特卖是正品吗 贝贝特卖网可靠吗

人气排行 xp系统停止服务怎么办?xp系统升级win7系统方电脑闹钟怎么设置 win7电脑闹钟怎么设置office2013安装教程图解:手把手教你安装与qq影音闪退怎么办 QQ影音闪退解决方法VeryCD镜像网站逐个数,电驴资料库全集同步推是什么?同步推使用方法介绍QQ2012什么时候出 最新版下载EDiary——一款好用的电子日记本