2010-01-29 22 views
33

Estoy usando C# con ASP.NET.Obtener una variable POST

¿Cómo puedo verificar si un parámetro se ha recibido como una variable POST?

Necesito realizar diferentes acciones si el parámetro se ha enviado a través de POST o vía GET.

Respuesta

76

Use este para los valores GET:

Request.QueryString["key"] 

Y esto por la POST valora

Request.Form["key"] 

Además, esto va a funcionar si no le importa si se trata de GET o POST, o la HttpContext.Items colección:

Request["key"] 

Otra cosa a la nota (si lo necesita) es que se puede comprobar el tipo de solicitud mediante:

Request.RequestType 

que será el verbo que se usa para acceder a la página (normalmente GET o POST). Request.IsPostBack generalmente funcionará para verificar esto, pero solo si la solicitud POST incluye los campos ocultos agregados a la página por el marco ASP.NET.

+2

No utilizaría Request ["key"] ... ya que esta es la colección Items y obtiene una lista de todos los objetos almacenados en el contexto de la página. Esto también incluiría valores de cookies. – Darren

5

Uso del

Request.Form []

de variables POST,

Request.QueryString []

para GET.

2

Además de utilizar Request.Form y Request.QueryString y en función de su situación específica, sino que también puede ser útil para comprobar la propiedad IsPostBackPage 's.

+1

no es correcto, IsPostBack es verdadero si el formulario se envía usando GET o POST. La nomenclatura no refleja la funcionalidad – sarepta

Cuestiones relacionadas