【问题标题】:Passing JSON into MVC Controller - returns always null将 JSON 传递到 MVC 控制器 - 始终返回 null
【发布时间】:2026-01-25 18:15:02
【问题描述】:

我们在项目中使用 MVC 2。

我正在获取使用 jquery/json 发送到控制器的对象的空值

请纠正我的错误。

这是我的代码

在将数据发布到控制器时,我在 JQuery 下面写了

$(document).ready(function () {

        $("#frmContact").submit(function () {
                    x = '{"Name":"John","EmailAddress":"john@gmail.com"}';
                    $.ajax({
                        type: 'POST',
                        url: '/dashboard/gmail',
                        data: x,
                        contentType: "application/json; charset=utf-8",
                        dataType: "json"
                        });
             });
});

注意:我也尝试JSON.stringify(x) 获取数据。

在我写的控制器部分:

public class ContactDetail
{
    public string Name { get; set; }
    public string EmailAddress { get; set; }
}

[AcceptVerbs(HttpVerbs.Post)]
[ObjectFilter(Param = "contactDetail", RootType = typeof(ContactDetail))]
public ActionResult gmail(ContactDetail contactDetail)
{
    // for now i didn't wrote any code here
    return View();
}

contactDetail 为空。

提前致谢

【问题讨论】:

    标签: jquery asp.net-mvc-2


    【解决方案1】:

    MVC 2 没有将 json 值提供程序作为标准。看看这个Phil Haack blog 来解释如何解决它。

    【讨论】:

      【解决方案2】:

      你试过了吗:

      x = {"Name":"John","EmailAddress":"john@gmail.com"};
      

      ?

      【讨论】:

      • 刚才我试过了。但我没有得到结果。如果我删除单个引号。 x 值在警报中显示 [Object object]。
      最近更新 更多