Request從幾個集合取數據是有順序的,從前到後的順序依次是 QueryString,Form,最後是ServerVariables。Request對象按照這樣的順序依次搜索這幾個集合中的變量,如果有符合的就中止,後面的就不管了。
現在我們來分析下你得問題.
假設有個頁面 test.asp?id=111
這裡我們的頁面是用GET的方法.這時用request.querystring("id")與request("id")是一樣得,應該如果不指定REQUEST得集合,首先就會從Querystring搜索.
而如果我們的頁面是用的是POST的方法發送數據給test.asp,那麼用request.querystring("id")是不行的了(他只能取GET),而要用request.from("id"),而如果還用request("id")他也能取到數據,但先檢測QUERYSTRING的值,顯然速度就慢了.
下面是個檢測的例子你可以看看:
<%
If Request("submit")<>"" then
Response.Write "直接取:"& Request("username") & "<br>"
Response.Write "取Get:" & Request.QueryString("username") & "<br>"
Response.Write "取Post:" & Request.Form("username") & "<br>"
End if
%>
<form name=form1 action="" method=post>
<input type=test name="username" value="postuser">
<input type=submit name="submit" value="test">
</form>