在 ASP 中,有兩個(gè)很常用的集合,一個(gè)是 Request.QueryString,另一個(gè)是 Request.Form。這兩個(gè)集合可以獲取 HTML 表單(HTML Forms) 提交的信息。
有關(guān) HTML 表單,請參見(jiàn) HTML 教程中的 HTML表單 一章。
HTML 表單中的 method 有兩種,一種是 get,另外一種是 post。當 HTML 表單的 method="get" 時(shí),可以用 Request.QueryString 來(lái)獲取表單提交的信息。
以下是一個(gè)讓用戶(hù)輸入姓名的 HTML 表單示例。
<form action="http://book.chinaz.com/" method="get">
請輸入你的姓名:
<input type="text" name="yourname">
<input type="submit" value="提交">
</form>
該示例中,HTML 表單中使用的 method 為 get,指向 action 的網(wǎng)頁(yè)是一個(gè) .asp 文件,名字為 yourname.asp。以下是 yourname.asp 文件的源代碼:
<html>
<head>
<title>姓名信息</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<p>你的姓名是:<%= Request.QueryString("yourname") %></p></body>
</html>
在這個(gè) .asp 文件里,你可以看到最關(guān)鍵的一句代碼是:
<p>你的姓名是:<%= Request.QueryString("yourname") %></p>Request.QueryString 括號里的 "yourname" 對應于 HTML 表單中的 input 輸入框的 name 值。
當使用 method="get" 提交表單信息時(shí),用戶(hù)可以從地址欄看到這些提交信息。
當 HTML 表單中 method = "post" 時(shí),可以用 Request.Form 來(lái)獲取 HTML 表單提交的信息。
以下是一個(gè)讓用戶(hù)輸入姓名和密碼的 HTML 表單示例。
<form action="http://book.chinaz.com/html/asdocs/html_tutorials/userpw.asp" method="post">
請輸入你的姓名:<input type="text" name="yourname"><br>
請輸入你的密碼:<input type="password" name="yourpw"><br>
<input type="submit" value="提交">
</form>
該示例中,HTML 表單中使用的 method 為 post,指向 action 的網(wǎng)頁(yè)是一個(gè) .asp 文件,名字為 userpw.asp。以下是 userpw.asp 文件的源代碼:
<html>
<head>
<title>用戶(hù)信息</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<p>你的姓名是:<%= Request.Form("yourname") %></p><p>你的密碼是:<%= Request.Form("yourpw") %></p></body>
</html>
在這個(gè) .asp 文件里,你可以看到最關(guān)鍵的兩句代碼是:
<p>你的姓名是:<%= Request.Form("yourname") %></p><p>你的密碼是:<%= Request.Form("yourpw") %></p>Request.Form 括號里的 "yourname" 和"yourpw" 各對應于 HTML 表單中的兩個(gè) input 輸入框的 name 值。
當使用 method="post" 提交表單信息時(shí),用戶(hù)不會(huì )從地址欄看到這些提交信息。
HTML表單中還有一些可供用戶(hù)選擇的表單控件,比如單選框 input type="radio",復選框 input type="checkbox",單選下拉框 select,復選下拉框 select multiple。
這些選擇性的控件示例,請參見(jiàn) HTML表單教程。在這些示例中,action 指向的那個(gè) .asp 文件叫 choose.asp。以下是 choose.asp 文件的源代碼:
<html>
<head>
<title>retrieve information from form controls(radio, checkbox, select) </title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
你選擇了:<br>
<% For counter = 1 To Request.Form("fruit").Count Response.Write Request.Form("fruit")(counter) & "<br>"Next
%>
</body>
</html>
Request.Form 獲取的是一個(gè)集合 (collection)。Request.Form 集合有兩個(gè)參數,一個(gè)是 element,稱(chēng)做元素,對應 HTML表單控件的 name 值;第二個(gè)是 index,稱(chēng)做索引,表示 element 的第幾個(gè)值,index 從1開(kāi)始計數。
用 Request.Form(element)(index) 可以引用 Request.Form 集合中某個(gè)元素的某個(gè)值。
比如 Request.Form("fruit")(1),表示"fruit"元素中的第一個(gè)值,Request.Form("fruit")(2) 表示"fruit"元素中的第2個(gè)值。
用 Request.Form(element).Count,可以得到集合中某個(gè)元素的值的總數量。
比如 Request.Form("fruit").Count 為 3 的話(huà),就表示 "fruit" 這個(gè)元素有3個(gè)值。
聯(lián)系客服