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

 

 

 

 

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