Recientemente encontré un problema en el que un valor era nulo si se accedía con Request.Form, pero está bien si se recupera con Request.Params. ¿Cuáles son las diferencias entre estos métodos que podrían causar esto?¿Cuándo difieren Request.Params y Request.Form?
Respuesta
Request.Form solo incluye las variables publicadas a través de un formulario, mientras que Request.Params incluye tanto las variables de formulario publicadas como las variables especificadas como parámetros de URL.
La razón fue que el valor que estaba recuperando provenía de un elemento de formulario, pero el envío se realizó a través de un enlace + JQuery, no a través de un botón de formulario enviado.
Request.Params contiene una combinación de QueryString, Form, Cookies y ServerVariables (agregado en ese orden).
La diferencia es que si tiene una variable de formulario llamada "clave1" que está tanto en QueryString como en Form, Request.Params ["key1"] devolverá el valor de QueryString y Request.Params.GetValues ("key1") devolverá una matriz de [querystring-value, form-value].
Si hay varios valores del formulario o galletas con la misma clave a continuación, se añadirán los valores de la matriz devuelta por GetValues (es decir. GetValues no devolverá una matriz escalonada)
tuve el mismo problema pero tu respuesta me ayudó mucho. Tengo otra pregunta acerca de si podemos pasar query string-vale y Form-value en una sola solicitud. es practicamente posible? –
- 1. ¿Cuándo es nulo Request.Form ["name"] y una cadena vacía?
- 2. ¿Qué Request.Params ["key"] hacer?
- 3. ¿Html.TextBox usa Request.Params en lugar de Model?
- 4. hmac_sha256 en PHP y C# difieren
- 5. ASP.NET Request.Form Performance
- 6. Cuándo usar OSGi EventAdmin y cuándo no?
- 7. Request.Form potencialmente peligroso en WSFederationAuthenticationModule.IsSignInResponse
- 8. ASP: request.form no devuelve valor?
- 9. Threading vs Parallelism, ¿cómo difieren?
- 10. hash SHA1 difieren entre openssl y hashlib/pycrypto
- 11. ¿Cómo difieren los cierres entre foreach y list.ForEach()?
- 12. Los valores de salida difieren entre R y Python?
- 13. ¿Cómo difieren el archivo de diario MongoDB y el oplog?
- 14. ¿Por qué Java y C# difieren en Ups?
- 15. ¿Cuándo usar == y cuándo usarlo?
- 16. ¿Cuándo esperar y cuándo anular?
- 17. ¿Cómo atravesar Request.Form sin conocer ningún detalle?
- 18. C# ¿Puedo modificar las variables de Request.Form?
- 19. de REGEX difieren de PHP para Python
- 20. ¿Cuándo debería usar TCP_NODELAY y cuándo TCP_CORK?
- 21. Métodos estáticos: cuándo y cuándo no
- 22. cuándo deberíamos usar instanceof y cuándo no
- 23. ¿Cuándo debería usar Silverlight y cuándo XNA?
- 24. ¿Cuándo uso ByteString y cuándo no?
- 25. Cuándo usar undef_method, y cuándo usar remove_method?
- 26. Application.DoEvents, ¿cuándo es necesario y cuándo no?
- 27. Cuándo usar Pepino y cuándo usar RSpec?
- 28. cuándo usar Tarea y cuándo usar Subproceso?
- 29. Cuándo usar .mdf y cuándo .sdf?
- 30. Cuándo usar Restringir y cuándo no a
¿Cuánto hay de la llave son por defecto en Request.Params.Keys son 54 o gran parte de ellos. Solo para tu información. –