c# - asp.net MVC 如何从 POST 接收数据

标签 c# jquery asp.net asp.net-mvc

我在尝试从 POST 接收数据并在列表中再次返回时遇到问题,这是为了证明什么工作

这是我的代码:

function Person(ID, name, lastname)
{
    var person = { ID: ID, name: name, lastname: lastname };            

    $.ajax({
        url: '/Form/save',
        type: 'post',
        data: person,
        contentType: "application/json; charset=utf-8",
        dataType: "json"
    }).done(function (msg) {
        console.log('Person: '+ msg);
    }).fail(function (error) {
        console.log('ERROR: '+ error.error);
    }).always(function () {

    });
}

Controller

[HttpPost]
public ActionResult save()
{
    // I NEED YOU - get all data here and return
    string name = Request["name"].ToString();
    return Json(name, JsonRequestBehavior.AllowGet);
}

最佳答案

当您将数据发布到 C# 中的方法时,您需要在发布方法中使用相同的参数定义类。

在您的情况下,您的方法将变为

[HttpPost]
public ActionResult save(Person person)
{
    //Here your need to access person object to get the data 
    string name = person.name;
    return Json(name, JsonRequestBehavior.AllowGet);
}

现在类人将代表您从客户那里发送的内容。 同样,在您的情况下,Person 类将像

class Person 
{
  public int ID {get; set;}
  public string name {get; set;}
  public string lastname {get; set;}
}

因此,正如评论中提到的那样,在完全可选的情况下创建 class Person 并且您可以跳过它,这只是最佳实践。在这种情况下,您的 post 方法将如下所示

[HttpPost]
public ActionResult save(Object person)
{
    //Here your need to access person object to get the data 
    string name = person.name;
    return Json(name, JsonRequestBehavior.AllowGet);
}   

关于c# - asp.net MVC 如何从 POST 接收数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31508638/

相关文章:

c# - 使用 SharpGs 在 Google 存储中“公开共享”

c# - Asp .Net Core 中的访问被声明授权拒绝

javascript - "HTML tidy"有 JavaScript 或 Ruby 版本吗?

asp.net - Thread.Join在共享托管环境中

asp.net - 从母版页调用子页中的javascript

c# - selenium 2 - C# SelectElement 未在 Chrome 中选择

c# - 创建 Lucene.net 自定义分析器

javascript - 如何使用类名作为选择器来获取类成员的数据属性?

javascript - 带有两个选择框、iframe 和 jQuery 的动态页面(不含 PHP)

asp.net - Azure 上的静态内容(svg、woff、ttf)出现 404