2011-09-28 49 views
26

我正在使用ASP.NET。从ASP.NET中的POST方法中检索数据

有一个系统需要POST数据到我的网站,他们要求的所有内容都是为我提供一个URL。 所以我给他们我的网址http://www.example.com/Test.aspx

现在我不知道他们是如何发布它,但现在我的Test.aspx页面上,我需要编写的代码,将数据保存到数据库。

但是,这将如何工作,我必须在我的Test.aspx页面上做什么?

我在页面加载事件中写了一些代码,在页面加载中向我发送一封电子邮件,看看它们是否真的触及了页面,它看起来不像是甚至?

回答

24

你可以使用代码类同此(C#)发布到页面的表单值 -

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

或本(VB)

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

一旦你的价值,你需要你然后可以构造一个SQL语句并将数据写入数据库。

+0

所以txtFormValue将被传递到我的URL的参数之一? – Etienne

+0

是的,它会 - 您需要调整您在Request.Form集合中检查的值的名称,具体取决于发布给您的内容。 – ipr101

+0

但是我必须将这段代码放在我的PAGE LOAD事件中吗?它是否会在POST发送到该URL时加载页面? – Etienne

0

您需要检查Test.aspx.cs文件的Page_Load方法中的Request对象(将断点放在/快速监视上)。

29

从请求(内容,输入,文件,查询字符串的值)中的数据是所有这些对象上HttpContext.Current.Request
要阅读所张贴的内容

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

要通过导航所有输入

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