在 ASP 中,有兩個很常用的集合,一個是 Request.QueryString,另一個是 Request.Form。這兩個集合可以獲取 HTML 表單(HTML Forms) 提交的信息。 有關 HTML 表單,請參見 HTML 教程中的 HTML表單 一章。 Request.QueryStringHTML 表單中的 method 有兩種,一種是 get,另外一種是 post。當 HTML 表單的 method="get" 時,可以用 Request.QueryString 來獲取表單提交的信息。 以下是一個讓用戶輸入姓名的 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)頁是一個 .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> 在這個 .asp 文件里,你可以看到最關鍵的一句代碼是: <p>你的姓名是:<%= Request.QueryString("yourname") %></p> Request.QueryString 括號里的 "yourname" 對應于 HTML 表單中的 input 輸入框的 name 值。 當使用 method="get" 提交表單信息時,用戶可以從地址欄看到這些提交信息。 Request.Form當 HTML 表單中 method = "post" 時,可以用 Request.Form 來獲取 HTML 表單提交的信息。 以下是一個讓用戶輸入姓名和密碼的 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)頁是一個 .asp 文件,名字為 userpw.asp。以下是 userpw.asp 文件的源代碼: <html> <head> <title>用戶信息</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> 在這個 .asp 文件里,你可以看到最關鍵的兩句代碼是: <p>你的姓名是:<%= Request.Form("yourname") %></p> <p>你的密碼是:<%= Request.Form("yourpw") %></p> Request.Form 括號里的 "yourname" 和"yourpw" 各對應于 HTML 表單中的兩個 input 輸入框的 name 值。 當使用 method="post" 提交表單信息時,用戶不會從地址欄看到這些提交信息。
HTML表單中還有一些可供用戶選擇的表單控件,比如單選框 input type="radio",復選框 input type="checkbox",單選下拉框 select,復選下拉框 select multiple。 這些選擇性的控件示例,請參見 HTML表單教程。在這些示例中,action 指向的那個 .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 獲取的是一個集合 (collection)。Request.Form 集合有兩個參數(shù),一個是 element,稱做元素,對應 HTML表單控件的 name 值;第二個是 index,稱做索引,表示 element 的第幾個值,index 從1開始計數(shù)。 用 Request.Form(element)(index) 可以引用 Request.Form 集合中某個元素的某個值。 比如 Request.Form("fruit")(1),表示"fruit"元素中的第一個值,Request.Form("fruit")(2) 表示"fruit"元素中的第2個值。 用 Request.Form(element).Count,可以得到集合中某個元素的值的總數(shù)量。 比如 Request.Form("fruit").Count 為 3 的話,就表示 "fruit" 這個元素有3個值。 |
|