Când face Request.Params și Request.Form diferă?

Am întâlnit recent o problemă în care o valoare a fost nulă dacă a fost accesată cu Request.Form dar amendă dacă a fost recuperată cu Request.Params. Care sunt diferențele dintre aceste metode care ar putea provoca acest lucru?

0
fr hi bn

3 răspunsuri

Motivul a fost că valoarea pe care o regăsesc era de la un element de formă, dar trimiterea a fost făcută printr-un link + JQuery, nu printr-un buton de formular trimis.

0
adăugat

Request.Form include doar variabilele postate printr-un formular, în timp ce Request.Params include atât variabilele formularului afișat, cât și variabilele specificate ca parametri URL.

0
adăugat
Cât de mult nu sunt chei implicite în Request.Params.Keys sunt 54 sau mai multe dintre ele. Doar FYI.
adăugat autor shalin gajjar, sursa

Request.Params conține o combinație de QueryString, Form, Cookies și ServerVariables (adăugate în acea ordine).

Diferența este că dacă aveți o variabilă de formă numită "key1" care este atât în ​​QueryString, cât și în Formular apoi Request.Params ["key1"] va returna valoarea QueryString și Request.Params.GetValues ​​("key1") va returna array de [querystring-value, form-value].

Dacă există mai multe valori ale formularului sau cookie-uri cu aceeași cheie, atunci aceste valori vor fi adăugate la matricea returnată de GetValues ​​(adică GetValues ​​nu va returna o matrice jaggedă)

0
adăugat
am avut aceeasi problema, dar raspunsul tau ma ajuta foarte mult. am o altă întrebare dacă putem transmite cererea string-vale și Form-value într-o singură cerere. este practic posibil?
adăugat autor Kumaran T, sursa