在C#中接收等效的POST数据

时间:2013-10-15 23:39:49

标签: c# php asp.net http-post

我应该从网络表单接收我的网页上的POST数据并存储它。我有以下代码行来使用PHP接收它。

$jdata = json_decode($_POST['data'], true);

ASP.NET / C#中的等价物是什么?

换句话说,我如何使用C#接收POST数据并对其进行解码?

1 个答案:

答案 0 :(得分:0)

我假设你的下一个问题是如何使用ASP.NET更新数据库,所以我在下面的代码中回答了这个问题:

using System.Data;
using System.Data.SqlClient;

protected void Page_Load(object sender, EventArgs e)
{
    if (Request.Form["Name"] == null) Response.End();
    if (Request.Form["ID"] == null) Response.End();

    //Connection string
    SqlConnection conn = new SqlConnection("Data Source=sqlsvr.net;Initial Catalog=ohsrespirator;Persist Security Info=True;User ID=user;Password=pwd");

    //Set a command
    SqlCommand cmd = new SqlCommand("UPDATE Table_Name SET Column_Name = @value1, Column_ID = @value2", conn);
    cmd.Parameters.Add("@value1", SqlDbType.NVarChar).Value = Request.Form["Name"] as string;
    cmd.Parameters.Add("@value2", SqlDbType.NVarChar).Value = Request.Form["ID"] as string;

    //Open connection and execute update
    try
    {
        conn.Open();
        cmd.ExecuteNonQuery();
    }
    catch { }
    finally { if (conn != null) conn.Close(); }
}

P.S。如果您的数据以JSON形式出现,您可能还需要这个:

using System.Web.Script.Serialization;

JavaScriptSerializer JSS = new JavaScriptSerializer();
var JSON = JSS.Deserialize<dynamic>(Request.Form["POSTED_JSON"]);