當用戶填寫頁面<FORM>內容時所提供的全部值
大多數ASP集合與在VB中見到的普通集合相差不多
<FORM ACTION=”show_request
FirstName:<INPUT TYPE=”TEXT” NAME=”FirstName”>
LastName:<INPUT TYPE=”TEXT” NAME=”LastName”>
<INPUT TYPE=”SUBMIT” VALUE=”Send”>
</FORM>
可通過訪問ASP的Form集合來訪問其控件內的值
strFirstName = Request
strLastName = Request
也可使用窗體中控件的整型索引
strFirstName = Request
strLastName = Request
然而
可以通過引用集合把整個Form上的一系列值變成單個的字符變量
StrAllFormContent = Request
假如文本框包含值Priscilla和Descartes
FirstName=Priscilla&LastName=Descartes
注意
有兩種方式遍歷一個ASP集合中的所有成員
For intLoop=
Response
Next
假如先前的窗體包含Priscilla和Descartes值的兩個文本框
Priscilla
Descartes
然而
For Each objItem In Request
Response
Next
這帶來的好處是既可以訪問控件的名稱又可訪問其值
FirstName = Priscilla
LastName = Descartes
注意
在某些情況下
<FORM ACTION=”Show_request
<INPUT TYPE=”TEXT” NAME=”OtherHobby”>
<INPUT TYPE=”TEXT” NAME=”OtherHobby”>
<INPUT TYPE=”TEXT” NAME=”OtherHobby”>
<INPUT TYPE=”SUBMIT” VALUE=”Send”>
</FORM>
在Form集合中
Gardening
為了能夠在這種情況下
For Each objItem In Request
If Request
For intLoop =
Response
Next
Else
Response
End If
Next
對於前面的包含三個OtherHobby控件的窗體實例
OtherHobby:
Subkey
Subkey
Subkey
然而
a) HTML中的單選或選頁按鈕控件
在HTML中
<FORM ACTION=”show_request
I live in:
<INPUT TYPE=”RADIO” NAME=”Country” VALUE=”AM”>America<BR>
<INPUT TYPE=”RADIO” NAME=”Country” VALUE=”EU”>Europe<BR>
<INPUT TYPE=”RADIO” NAME=”Country” VALUE=”AS”>Asia<BR>
<INPUT TYPE=”SUBMIT” VALUE=”Send”>
</FORM>
因為用戶只能選擇多項中的一個(這就是給它們相同的名字的原因)
Country = EU
由於為每個控件提供了不同的VALUE屬性
Country = on
這是不經常用到的
b) HTML復選框控件
當一個窗體中HTML源碼包含一個復選框控件時
<FORM ACTION=”show_request
I enjoy:
<INPUT TYPE=”CHECKBOX” NAME=”Reading” CHECKED> Reading
<INPUT TYPE=”CHECKBOX” NAME=”Eating”> Eating
<INPUT TYPE=”CHECKBOX” NAME=”Sleeping”> Sleeping
<INPUT TYPE=”SUBMIT” VALUE=”Send”>
</FORM>
在這種情況下
Reading = on
Sleeping = on
然而
<FORM ACTION=”show_request
I enjoy:
<INPUT TYPE=”CHECKBOX” VALUE=”Hobby
Swimming
<INPUT TYPE=”CHECKBOX” VALUE=”Hobby
Reading
<INPUT TYPE=”CHECKBOX” VALUE=”Hobby
<INPUT TYPE=”CHECKBOX” VALUE=”Hobby
<INPUT TYPE=”SUBMIT” VALUE=”Send”>
</FORM>
如果除第三個復選框外
Hobby = Hobby
假如編寫更復雜一些集合遍歷代碼
Hobby:
Subkey
Subkey
Subkey
需要注意的是兩種情況
上述情況一個棘手的負作用是使用復選框時
c) HTML列表控件
HTML中的<SELECT>標記用來產生標准的下拉列表框
<FORM ACTION=”show_request
<SELECT NAME=”Hobby” SIZE=”
<OPTION VALUE=”Hobby
<OPTION VALUE=”Hobby
<OPTION VALUE=”Hobby
<OPTION VALUE=”Hobby
<OPTION VALUE=”Hobby
</SELECT><P>
<INPUT TYPE=”SUBMIT” VALUE=”Send”>
</FORM>
這種特殊的情況返回的是在Form集合中單個條目
Hobby = Hobby
假如使用更加復雜一些的集合遍歷代碼(單獨顯示每個子鍵)
Hobby:
Subkey
Subkey
Subkey
這與上述相同名稱的復選框的情況相同
然而
Hobby = Swimming
並且
Hobby:
Subkey
Subkey
Subkey
當然
Hobby = Hobby
如果沒有提供VALUE屬性
Hobby = Swimming
這允許既可以缺省(即無VALUE)顯示選項文本
d) HTML提交和圖像控件
復選框和單選框是布爾型控件的例子
還有另外一種常用的布爾型控件
BUTTON類型的控件不返回任何值
然而
<FORM ACTION=”show_request
<INPUT TYPE=”SUBMIT” NAME=”btnSubmit” VALUE=”Next”>
<INPUT TYPE=”SUBMIT” NAME=”btnSubmit” VALUE=”Previous”>
<INPUT TYPE=”SUBIMT” NAME=”btnSubmit” VALUE=”Cancel”>
</FORM>
在一個窗體中
btnSubmit = Previous
因此
Select Case Request
Case “Next”
Response
Case “Previous”
Response
Case “Cancel”
Response
End Select
同時
此屏幕上的界面由下列代碼產生
<FORM ACTION=”show_request
<B>What do you want to do now?</B><P>
<INPUT TYPE=”SUBMIT” NAME=”btnNext” VALUE= ”> Go on the next page<P>
<INPUT TYPE=”SUBMIT” NAME=”btnPrevious” Value=” ”> GO back to the previous page<P>
<INPUT TYPE=”SUBMIT” NAME=”btnCancel” VALUE=” ”> Cancel and go back to the main menu page<P>
</FORM>
在ASP頁面中
If Len(Request
If Len(Request
If Len(Request
這個工作是查詢一個鍵上的ASP集合
e) 提高使用Request集合的效率
訪問一個ASP集合來下載一個值是費時的需計算資源的過程
strTitle = Request
strFirstName = Request
strLastName = Request
If Len(stTitle) Then strTitle = strTitle & “ “
If strFirstName = “ “ Then
StrFullName = strTitle & “ “ & strLastName
ElseIf Len(strFirstName) =
StrFullName = strTitle & strFirstName & “· “ & strLastName
Else
StrFullName = strTitle & strFirstName & “ ” & strLastName
End If
f) 搜索所有的Request集合
在某些情況下
要看一下一個值為什麼可能出現在不同的集合中
<FORM ACTION=”process_page
<INPUT TYPE=”SUBMIT” NAME=”page” VALUE=”Next”>
<INPUT TYPE=”SUBMIT” NAME=”page” VALUE=”Previous”>
<INPUT TYPE=”SUBMIT” NAME=”page” VALUE=”Help”>
</FORM>
For help go to the <A HREF=”process_page
在這種情況下
strPage = Request(“page”)
這將按序搜索全部的集合——QueryString
例如
總而言之
g) 訪問其他的集合
本文的這一節裡
我們將簡短了解一個值如何進入一個QueryString集合
From:http://tw.wingwit.com/Article/program/net/201311/14259.html