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

2016-01-29 17:55 6 1 收藏

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

【 tulaoshi.com - ASP 】

    如何使用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 & "<BR"
Next
Else
Response.Write "Item = " & Item & "<BR"
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_<page no 后缀是控件类型. <INPUT TYPE = RADIO NAME = RADIO_P2
是表示第二页的一个name是radio的东西
4。一个用来读取提交的函数

  页面根据一个循环来判断当前的控件是属于哪一页的。
代码如下:
<%@LANGUAGE="VBSCRIPT %
<HTML
<HEAD
</HEAD
<BODY
<!-- NEXT按钮模块编程开始 --
<FORM ACTION="page03.asp" METHOD="POST"
<!-------------------------------------------------------------
<!--读入函数开始 --
<!-------------------------------------------------------------
<%
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 "<INPUT TYPE=""HIDDEN"" NAME=""" & Item & """ VALUE=""" & strItem & """" &VbCrLf
ElseIf (NOT(Request.Form(Item).Count) AND (WhichPage = 0)) Then
Response.Write "<INPUT TYPE=""HIDDEN"" NAME=""" & Item & """ VALUE=""" & strItem & """" &VbCrLf
End If
Next
%
<!------------------------------------------------------------
<1-- 读入函数结束 --
<!------------------------------------------------------------

<!-- #include file = "Check_UnCheck.txt" --
<%
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

来源:http://www.tulaoshi.com/n/20160129/1503557.html

延伸阅读
标签: ASP
  我现在在做ASP的安装程序,这样可以方便用户的使用。我使用的InstallShield版本是InstallShield Professional—Standard Edition6.3。   我没有用过这个东东,问题如下: 问题一   通过Project Wizard-generated script 做好了COPY打包工作。可是6.3版本的好象不支持主体Program...Endprogram,因为我看COPY打包...
标签: ASP
  FLASH MX(FLASH6)的闪亮登场,又给了闪客们一个晕倒的理由,因为她的新面孔让我们激动不已。 一.先从MX的新功能说起 进入MX开发界面后,点击菜单条的Help=Samples,就会打开一篇网页,叶子里的这些Sample能让我们感受到MX的新功能。接着,在叶子里点击"Feature highlight: Load images"链接。我们在这个动画里看到了5张海洋...
  <script language="JavaScript" var pos,str,para,parastr,tempstr1; tempstr=""; str = window.location.href; pos = str.indexOf("?") parastr = str.substring(pos+1); document.write("<br文件路径:"+str); if (pos0){  document.write("<br所有参数:"+parastr);  } else  {  document.write ("无...
标签: ASP
  <HTML     <HEAD     <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"     <TITLEODBC SQL Server @softwing.com</TITLE </HEAD <BODY BGCOLOR=#FFFFFF <% Set xObj = Server.CreateObject("...
标签: ASP
  bigeagle】 于 2000-11-9 10:47:22 加贴在 Joy ASP ↑: <HTML     <HEAD     <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"     <TITLEODBC SQL Server @softwing.com</TITLE </HEAD <BODY BGCO...