如何使用ASP产生象安装向导的主页 |
|
作者:不详 文章来源:不详 更新时间:2003-12-8 2:35:44 |
【声明:转载此信息在于传递更多信息,其内容表达的观点并不代表本站立场,由这些信息所产生的一切后果本站不负任何责任。如果您对本信息有什么意见,欢迎和本站联系,谢谢!】http://CiDu.Net
如何使用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 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 %>
<!-- Back按钮模块开始 -->
<% 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 "<INPUT TYPE=""HIDDEN"" NAME=""" & Item1 & """ VALUE=""" & strItem1 & """>" &VbCrLf strCount1 = "" strItem1 = "" Else strItem1a = Request.Form(Item1) Response.Write "<INPUT TYPE=""HIDDEN"" NAME=""" & Item1& """ VALUE=""" & strItem1a & """>" &VbCrLf End If Next
strItem1 = "" strItem1a = "" %>
声明:以上信息资料大都是网上搜集而来,版权归作者,如有版权问题请留言告知我将马上改正。 文中所提到的各种观点只是原文观点,各种说法未经一一确认。并不代表本站认可此观点!!
|
资讯录入:ahui 责任编辑:ahui |
|
上一篇资讯: 硬盘文件搜索代码(ASP类)
下一篇资讯: ASP项目中的公共翻页模块 |
【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |