C#MVC后台模型的List<>字段接收不到数据?

华-fu 2019-09-17 09:57:14
模型里的list字段接收不到ajax传来的数据怎么办,不知道问题出现在哪里,或者是我定义模型出错、还是ajax传值方式有问题。
js代码:前台因为品种对象为不确定数据,所以自定义了一个list<FaermerIcitemEntry>来接收,js代码是这样的:
var model = {};
var data = {};
model["FarmerName"] = "张三";
model["Number"] = '18789738178';
model["Environment"] = "运动场";
//获取品种id
$("input:checked[name=BreedId]:checked").each(function () {
var BreedId = $(this).val(); //1000,1005
arr1.push(BreedId);
});
//获取数量
$("input[name=Amount]").each(function () {
arr2.push($(this).val()); //1300,1200
});
//遍历使用data数组存储品种:数量
for (var i = 0; i < arr1.length; i++) {
data[arr1[i]] = arr2[i];
}
model.entrys = data; //将品种数量赋值给model
控制台数据

后台接收时,其他字段都有数据,但是entrys这个list字段却为null


模型定义:
/// <summary>
/// 养户对象
/// </summary>
public class FarmerIcitemModel
{
public int FarmerIcitemId { get; set; }
public string FarmerName { get; set; }
public string Number { get; set; }
public string FarmerAddress { get; set; }
public string Environment { get; set; }
public Nullable<int> Area { get; set; }
public List<FaermerIcitemEntry> entrys { get; set; }

}
/// <summary>
/// 品种对象
/// </summary>
public class FaermerIcitemEntry
{
//public int FaEntryId { get; set; }
public int? BreedId { get; set; }
public int? FarmerIcitemId { get; set; }
public string BreedName { get; set; }
public Nullable<int> Amount { get; set; }
}
...全文
801 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
华-fu 2019-09-17
  • 打赏
  • 举报
回复
引用 7 楼 stherix 的回复:
[quote=引用 6 楼 华-fu 的回复:] 是这样的吗,好像还是不行,对了,第一次用论坛,现在还不知道怎么给分,只有结贴的时候才能给了
entrys : [ { BreedName:"鸡", Amount:"1000" }, { BreedName:"鸭", Amount:"500" }, ] 必须要数组里面都是FaermerIcitemEntry的对象[/quote] 谢谢,照这样写果然对了
正怒月神 版主 2019-09-17
  • 打赏
  • 举报
回复
引用 6 楼 华-fu 的回复:
是这样的吗,好像还是不行,对了,第一次用论坛,现在还不知道怎么给分,只有结贴的时候才能给了
还是错的啊。。。 你应该先去看看json的数组是什么格式。
stherix 2019-09-17
  • 打赏
  • 举报
回复
引用 6 楼 华-fu 的回复:
是这样的吗,好像还是不行,对了,第一次用论坛,现在还不知道怎么给分,只有结贴的时候才能给了
entrys : [ { BreedName:"鸡", Amount:"1000" }, { BreedName:"鸭", Amount:"500" }, ] 必须要数组里面都是FaermerIcitemEntry的对象
华-fu 2019-09-17
  • 打赏
  • 举报
回复
是这样的吗,好像还是不行,对了,第一次用论坛,现在还不知道怎么给分,只有结贴的时候才能给了
stherix 2019-09-17
  • 打赏
  • 举报
回复
引用 3 楼 华-fu 的回复:
[quote=引用 1 楼 stherix 的回复:] 数据类型完全对不上啊 js里entrys是个object,而且name都是数字 而c#里是一个List
对上了也没数据呀[/quote] entrys : [{BreedName:"鸡",Amount:"1000"}]还差不多 因为List<FaermerIcitemEntry> entrys是个列表 必须用json array来对应
正怒月神 版主 2019-09-17
  • 打赏
  • 举报
回复
引用 3 楼 华-fu 的回复:
[quote=引用 1 楼 stherix 的回复:] 数据类型完全对不上啊 js里entrys是个object,而且name都是数字 而c#里是一个List
对上了也没数据呀[/quote] 你的设置的entrys是list,你传过去的是个简单的对象。。。 entrys传过去应该是中括号数组类型[]
华-fu 2019-09-17
  • 打赏
  • 举报
回复
引用 1 楼 stherix 的回复:
数据类型完全对不上啊 js里entrys是个object,而且name都是数字 而c#里是一个List
对上了也没数据呀
stherix 2019-09-17
  • 打赏
  • 举报
回复
数据类型完全对不上啊 js里entrys是个object,而且name都是数字 而c#里是一个List
正怒月神 版主 2019-09-17
  • 打赏
  • 举报
回复
https://blog.csdn.net/hanjun0612/article/details/79657740

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧