c# asp.net mvc提交json数据是空的

今天在写的时候遇到的问题asp.net mvc提交json数据,后端接受的时候是空的

这是提交的表单数据

格式化后的表单数据

后台接受时是空值


问题解决

这是后台程序的一个方法,参数名是SptList

这是前端的提交数据,我这里把之前的

{Delete_data2:Delete_data2}

改成

{SptList:Delete_data2}

这个SptList很重要,因为要和后端的参数变量名一致


前端代码

第一步:使用JSON.stringify(参数)格式化成json数据

 var Delete_data2 = JSON.stringify(Delete_data);

第二步:数据封装

$.post("/CPLVFXAdmin/Product/ProductTypeDeleteList", {SptList: Delete_data2}, function (data, status) {
//提交成功后,执行的一些动作
}); 

{SptList: Delete_data2}

这个是重点:SptList:一定要和后端方法参数名一致


后端代码

public JsonResult ProductTypeDeleteList(String SptList)
{
          List<ProductType> productTypesList=new List<ProductType>();
            //反序列化
           productTypesList=JsonConvert.DeserializeObject<List<ProductType>>(SptList);
            
           //这里封装了返回的数据格式            
           ResultModel<string> resultModel = new ResultModel<string>();

            foreach (ProductType item in productTypesList)
            {
               //执行逐条删除的动作
            }
            
             return Json(resultModel);
}

重点:

JsonConvert.DeserializeObject<>()

这个是反序列化,把json反序列化成对象

如果是单条的json,你可以这样写

User user=JsonConvert.DeserializeObject<user>("json格式的数据")

我上面是多条json数据

List<User> user=JsonConvert.DeserializeObject<List<user>>("json格式的数据")

 

注意:

我这里的反序列用的Newtonsoft

 

延伸阅读

c# .net的Newtonsoft.Json序列化和反序列化

https://blog.csdn.net/cplvfx/article/details/106642949

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章