|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
Windows本身的所有问题都会一成不变的也累加到了它的身上。安全性、稳定性、跨平台性都会因为与NT的捆绑而显现出来;安装导游|页面 怎样利用ASP制造相似安装导游的页面?
面对的次要成绩安在:
1。界面和一个WindowsWizard完整一样,有Next和Back按钮
2。用户可使用Back按钮回到之前的任何一步,而且可以改动之前任何一步中已选择的内容
3。form必需记着一切填进的内容
4。不克不及够利用数据库
5。不克不及够利用Sessions,避免假如Sessiosn生效后用户的一切输出丧失,不幸的是,也不克不及够利用cookie
由于良多反对常常关失落扫瞄器的Cookie选项。
6。可移植性要好,由于它要顺应安装步数分歧时的情形
办理计划:
1。利用hidden变量传送参数
2。利用POST体例,不利用GET体例,由于这类体例受长度限定
3。每个页面都必需有一个用来读取提交值的函数
4。每个页面(除第一个页面外)都必需要有一个hiddenform来向前一页传送参数
假如在你的页面中利用了Checkboxes或则利用了radiobuttons,请利用以下代码读数值:
<%ForEachIteminRequest.Form
IfRequest.Form(Item).CountThen
ForintLoop=1toRequest.Form(Item).Count
Response.Write"Item="&Item&"Index="&intLoop&"<BR>"
Next
Else
Response.Write"Item="&Item&"<BR>"
EndIf
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_<pageno>后缀是控件范例.<INPUTTYPE=RADIONAME=RADIO_P2>
是暗示第二页的一个name是radio的器材
4。一个用来读取提交的函数
页面依据一个轮回来判别以后的控件是属于哪一页的。
代码以下:
<%@LANGUAGE="VBSCRIPT%>
<HTML>
<HEAD>
</HEAD>
<BODY>
<!--NEXT按钮模块编程入手下手-->
<FORMACTION="page03.asp"METHOD="POST">
<!------------------------------------------>
<!--读进函数入手下手-->
<!------------------------------------------>
<%
pageno="_P2"
ForEachIteminRequest.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"<INPUTTYPE=""HIDDEN""NAME="""&Item&"""VALUE="""&strItem&""">"&VbCrLf
ElseIf(NOT(Request.Form(Item).Count)AND(WhichPage=0))Then
Response.Write"<INPUTTYPE=""HIDDEN""NAME="""&Item&"""VALUE="""&strItem&""">"&VbCrLf
EndIf
Next
%>
<!---------------------------------------->
<1--读进函数停止-->
<!---------------------------------------->
<!--#includefile="Check_UnCheck.txt"-->
<%
FunctionCheck_UnCheck(ctrlName,ctrlValue)
DimctrlName_in
DimctrlValue_in
DimctrlValue_actual
DimoutStr
ctrlValue_in=""
ctrlName_in=""
ctrlValue_actual=""
outStr=""
ctrlName_in=ctrlName_in&ctrlName
ctrlValue_in=ctrlValue_in&ctrlValue
IfRequest.Form(ctrlName_in).CountThen
strCount=Request.Form(ctrlName_in).Count
ctrlValue_actual=Request.Form(ctrlName_in)(strCount)
IfctrlValue_actual=ctrlValue_inThen
outStr="CHECKED"
EndIf
Else
ctrlValue_actual=Request.Form(ctrlName_in)
IfctrlValue_actual=ctrlValue_inThen
outStr="CHECKED"
EndIf
EndIf
Check_UnCheck=outStr
EndFunction
%>
<!--Back按钮模块入手下手-->
<%
strItem1=""
strItem1a=""
ForEachItem1inRequest.Form
IfRequest.Form(Item1).CountThen
strCount1=Request.Form(Item1).Count
strItem1=Request.Form(Item1)(strCount1)
Response.Write"<INPUTTYPE=""HIDDEN""NAME="""&Item1&"""VALUE="""&strItem1&""">"&VbCrLf
strCount1=""
strItem1=""
Else
strItem1a=Request.Form(Item1)
Response.Write"<INPUTTYPE=""HIDDEN""NAME="""&Item1&"""VALUE="""&strItem1a&""">"&VbCrLf
EndIf
Next
strItem1=""
strItem1a=""
%>缺点:正版成本价格贵(盗版就不说了)、不够安全,大多数服务器用windows系统,没有linux安全 |
|