Question

I recently encountered a problem where a value was null if accessed with Request.Form but fine if retrieved with Request.Params. What are the differences between these methods that could cause this?

Was it helpful?

Solution

Request.Form only includes variables posted through a form, while Request.Params includes both posted form variables and get variables specified as URL parameters.

OTHER TIPS

Request.Params contains a combination of QueryString, Form, Cookies and ServerVariables (added in that order).

The difference is that if you have a form variable called "key1" that is in both the QueryString and Form then Request.Params["key1"] will return the QueryString value and Request.Params.GetValues("key1") will return an array of [querystring-value, form-value].

If there are multiple form values or cookies with the same key then those values will be added to the array returned by GetValues (ie. GetValues will not return a jagged array)

The reason was that the value I was retrieving was from a form element, but the submit was done through a link + JQuery, not through a form button submit.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top