2011-09-28 28 views
26

Estoy usando ASP.NET.Recuperando datos de un método POST en ASP.NET

Existe un sistema que necesita POSTAR datos a mi sitio y todo lo que solicitaron es que les proporcione una URL. Así que les di mi URL http://www.example.com/Test.aspx.

Ahora no sé exactamente cómo LO PUBLICARON, pero ahora en mi página Test.aspx necesito escribir el código que guardará esos datos en una base de datos.

Pero, ¿cómo funcionaría esto y qué debo hacer en mi página Test.aspx?

Escribí un código en mi Evento de carga de página que me envía un correo electrónico en la carga de la página para ver si realmente golpean la página y no parece que sean par?

Respuesta

24

Usted puede obtener un valor formulario publicado en una página utilizando código similar a este (C#) -

string formValue; 
if (!string.IsNullOrEmpty(Request.Form["txtFormValue"])) 
{ 
    formValue= Request.Form["txtFormValue"]; 
} 

o esto (VB)

Dim formValue As String 
If Not String.IsNullOrEmpty(Request.Form("txtFormValue")) Then 
    formValue = Request.Form("txtFormValue") 
End If 

Una vez que tenga los valores que necesita puede construir una declaración SQL y escribir los datos en una base de datos.

+0

¿Entonces txtFormValue será uno de los parámetros que se pasa a mi URL? – Etienne

+0

Sí, tendrá que ajustar los nombres de los valores que estaba comprobando en la colección 'Request.Form' según lo que se le envió. – ipr101

+0

¿Pero debo colocar este código en mi evento PAGE LOAD? ¿Incluso carga la página cuando ocurre un POST a esa URL? – Etienne

0

Necesita examinar (poner un punto de interrupción en/Quick Watch) el objeto Request en el método Page_Load de su archivo Test.aspx.cs.

29

Los datos de la solicitud (de contenido, los insumos, los archivos, los valores de cadena de consulta) es todo en este objeto HttpContext.Current.Request
Para leer el contenido publicado

StreamReader reader = new StreamReader(HttpContext.Current.Request.InputStream); 
string requestFromPost = reader.ReadToEnd(); 

Para navegar a través de la todas las entradas

foreach (string key in HttpContext.Current.Request.Form.AllKeys) 
{ 
    string value = HttpContext.Current.Request.Form[key]; 
} 
Cuestiones relacionadas