国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > ASP > 正文

怎么用ASP制作安裝向導頁面

2024-05-04 11:06:58
字體:
來源:轉載
供稿:網友

我們從網上下載的一些程序如論壇,在安裝的時候有類似軟件一樣的安裝向導,這樣方便了用戶的安裝,這個功能要如何實現呢?

我們面臨的主要問題在于:

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 = ""
%>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 喀喇| 黄大仙区| 临清市| 手游| 常山县| 五常市| 休宁县| 青阳县| 四川省| 龙门县| 麦盖提县| 思茅市| 宕昌县| 普安县| 莱州市| 平谷区| 达州市| 酉阳| 宿迁市| 罗田县| 阳东县| 九龙坡区| 商南县| 靖西县| 金山区| 盐城市| 富蕴县| 铜鼓县| 玉龙| 蛟河市| 宁乡县| 玛纳斯县| 巴彦县| 迁安市| 邯郸县| 迭部县| 云霄县| 天气| 仙桃市| 收藏| 伊金霍洛旗|