.NET Request.Params與Request.QueryString等的區別
Request.Form:獲取以POST方式提交的資料(接收Form提交來的資料);
Request.QueryString:獲取位址列引數(以GET方式提交的資料)
Request:包含以上兩種方式(優先獲取GET方式提交的資料),它會在QueryString、Form、ServerVariable中都按先後順序搜尋一遍。
而且有時候也會得到不同的結果。如果你僅僅是需要Form中的一個數據,但是你使用了Request而不是Request.Form,那麼程式將在QueryString、ServerVariable中也搜尋一遍。如果正好你的QueryString或者ServerVariable裡面也有同名的項,你得到的就不是你原本想要的值了。
Request.Params是所有post和get傳過來的值的集合,request.params其實是一個集合,它依次包括request.QueryString、request.Form、request.cookies和request.ServerVariable。
Get Post 的區別
1、Get是用來從伺服器上獲得資料,而Post是用來向伺服器上傳遞資料。
2、Get將表單中資料的按照variable=value的形式,新增到action所指向的URL後面,並且兩者使用“?”連線,而各個變數之間使用“&”連線;Post是將表單中的資料放在form的資料體中,按照變數和值相對應的方式,傳遞到action所指向URL。
3、Get是不安全的,因為在傳輸過程,資料被放在請求的URL中,而如今現有的很多伺服器、代理伺服器或者使用者代理都會將請求URL記錄到日誌檔案中,然後放在某個地方,這樣就可能會有一些隱私的資訊被第三方看到。另外,使用者也可以在瀏覽器上直接看到提交的資料,一些系統內部訊息將會一同顯示在使用者面前。Post的所有操作對使用者來說都是不可見的。
4、Get傳輸的資料量小,這主要是因為受URL長度限制;而Post可以傳輸大量的資料,所以在上傳檔案只能使用Post(當然還有一個原因,將在後面的提到)。
5、Get限制Form表單的資料集的值必須為ASCII字元;而Post支援整個ISO10646字符集。
6、Get是Form的預設方法。
=====================================================================================
Request.Params 獲取Request.QueryString和Request.Form等項的集合。
Request.QueryString:接受URL等查詢字串的集合。
Request.Form:是用來接受窗體表單等變數。
Request.QueryString和Request.Form以前都是專門針對asp頁面的,當asp頁面的form的method屬性為get 時,使用querystring,為post時,使用form.
剩下的那個同樓上
a呼叫b
Request.QueryString:
a.asp: response.redirect "b.aspx?id=123"
b.asp: 得到資料id的值則 var sId=Request.QueryString["id"]
Request.Form:
a.asp:
<form>
...
<asp:text id="pName" .../>
...
</form>
b.asp:得到資料id的值則 var sName=Request.Form["pName"]
Request.Params:.NET裡面取得引數的方法,上面兩種傳遞方式哪種都可以
b.aspx.cs:
string sId=Request.Params["id"]
string sName=Request.Params["pName"]