C# 从视图发布到控件的Json数据返回Null

C# 从视图发布到控件的Json数据返回Null,c#,asp.net-mvc,C#,Asp.net Mvc,我是MVC编程新手。目前正在VS2017上工作。我正试图将视图中的数据以JSON字符串格式发布到控制器。在Jquery控制台上检查时,数据在那里,但在控制器上它被接收为null 这是我的Jquery Ajax $('#btnSave').click(function () { var Studentdata = { JsonStr: addStudent } console.log(JSON.stringify(Studentdata))

我是MVC编程新手。目前正在VS2017上工作。我正试图将视图中的数据以JSON字符串格式发布到控制器。在Jquery控制台上检查时,数据在那里,但在控制器上它被接收为null

这是我的Jquery Ajax

$('#btnSave').click(function () {
            var Studentdata = { JsonStr: addStudent }
            console.log(JSON.stringify(Studentdata))
            $(this).val('Please wait...');
            $.ajax({
                url: '/Students/SaveStudents',
                type: "POST",
                data: JSON.stringify(Studentdata),
                dataType: "JSON",
                traditional: true,
                contentType: 'application/json;charset=utf - 8',
            }); });
这是在控制台上单击Save按钮时显示的Json字符串


{"JsonStr":[{"StudentId":"1","Name":"Pravin","Email":"pra@gmal.com"},{"StudentId":"2","Name":"ramesh","Email":"ram@ymail.com"},{"StudentId":"3","Name":"suresh","Email":"s@mail.com"},{"StudentId":"4","Name":"parvesh","Email":"peter@h.com"}]}
以下是我的控制器操作的方式:

        [HttpPost]
        public IActionResult SaveStudents(string JsonStr)
        {
              // conditions to be written
            return View();
        }
请帮我解决这个问题。我试了很多。你可以用这种方法试试

第一步。确保服务器端有
Studentdata

    [HttpPost]
    public IActionResult SaveStudents(List<Studentdata> JsonStr)
    {
          // conditions to be written
        return View();
    }
[HttpPost]
公共IActionResult SaveStudents(列表JsonStr)
{
//待编写的条件
返回视图();
}
第二步。调整格式contentType:'应用程序/json;字符集也为utf-8'`。我看到它包含不必要的空间

顺便说一句,这很有用。

你可以用这种方法试试

第一步。确保服务器端有
Studentdata

    [HttpPost]
    public IActionResult SaveStudents(List<Studentdata> JsonStr)
    {
          // conditions to be written
        return View();
    }
[HttpPost]
公共IActionResult SaveStudents(列表JsonStr)
{
//待编写的条件
返回视图();
}
第二步。调整格式contentType:'应用程序/json;字符集也为utf-8'`。我看到它包含不必要的空间


顺便说一句,这很有用。

我也尝试过这样做。Studentdata是一个视图模型。调整格式
contentType:'application/json;字符集=utf-8',
也是如此。我发现它包含不必要的空格。同时删除“traditional:true;”。在更改代码后,给我您的完整代码(Viewmodel、jquery、controller)。您可以通过编译器C#在线添加代码。我也尝试过这样做。Studentdata是一个视图模型。调整格式
contentType:'application/json;字符集=utf-8',
也是如此。我发现它包含了不必要的空格。请删除“traditional:true;”。更改代码后,给我您的完整代码(Viewmodel、jquery、controller)。您可以通过编译器C添加代码。代码在线:请建议我应该做什么更改?请建议我应该做什么更改?