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的值,顯然速度就慢了.
下面是個檢測的例子你可以看看:
<%
IfRequest("submit")<>""then
Response.Write"直接取:"&Request("username")&"<br>"
Response.Write"取Get:"&Request.QueryString("username")&"<br>"
Response.Write"取Post:"&Request.Form("username")&"<br>"
Endif
%>
<formname=form1action=""method=post>
<inputtype=testname="username"value="postuser">
<inputtype=submitname="submit"value="test">
</form>