Request["key"]
vs Request.Params["key"]
vs Request.QueryString["key"]
Which method do you seasoned programmers use? and why?
I recommend Request.QueryString["key"]
. There isn't a lot of difference to Request["Key"]
for a query string but there is a big(er) difference if you are trying to get the value from ServerVariables
. Request["Key"]
looks for a value in QueryString
if null, it looks at Form
, then Cookie
and finally ServerVariables
.
Using Params
is the most costly. The first request to params creates a new NameValueCollection
and adds each of the QueryString
, Form
, Cookie
and ServerVariables
to this collection. For the second request on it is more performant than Request["Key"]
.
Having said that the performance difference for a couple of keys is fairly negligable. The key here is code should show intent and using Request.QueryString
makes it clear what your intent is.