C# 使用列表传递自定义模型*<;CustClass>;*通过ajax调用
我在将json字符串传递到控制器中的jsonResult时遇到了一些问题。除了C# 使用列表传递自定义模型*<;CustClass>;*通过ajax调用,c#,ajax,jsonresult,C#,Ajax,Jsonresult,我在将json字符串传递到控制器中的jsonResult时遇到了一些问题。除了列表之外,所有的第一级变量都很好,它总是返回一个默认的空列表,当它应该被我传入的对象列表(列表)填充时 ajax调用,大致如下所示: var model = { Id: id, Name: name, Items: [{ Name: itemName[0], Color: itemColor[0] },{ Name: itemName[1]
列表
之外,所有的第一级变量都很好,它总是返回一个默认的空列表,当它应该被我传入的对象列表(列表)填充时
ajax调用,大致如下所示:
var model = {
Id: id,
Name: name,
Items: [{
Name: itemName[0],
Color: itemColor[0]
},{
Name: itemName[1],
Color: itemColor[2]
}]
};
$.ajax({
url: "/@path",
type: "POST",
data: JSON.stringify(model),
dataType: "json",
contentType: "application/json; charset=utf-8",
cache: false,
traditional: true
});
我的C#model沿着
public class MyModel
{
public int Id { get; set; }
public string Name { get; set; }
public class Item {
public string Name { get; set; }
public string Color { get; set; }
}
public List<Item> Items = new List<Item>();
}
我做错了什么?这可能吗?不要实例化列表以正确映射它。因为模型的绑定发生在类的实例化之后
public class MyModel
{
public int Id { get; set; }
public string Name { get; set; }
public class Item {
public string Name { get; set; }
public string Color { get; set; }
}
public List<Item> Items {get; set;}
}
公共类MyModel
{
公共int Id{get;set;}
公共字符串名称{get;set;}
公共类项目{
公共字符串名称{get;set;}
公共字符串颜色{get;set;}
}
公共列表项{get;set;}
}
您是否尝试不实例化列表?@Katana这是什么意思?public list Items={get;set;}@Katana这正是问题所在。。。没有意识到变量通过结果需要一个{get;set}方法。它现在可以工作了吗?
public class MyModel
{
public int Id { get; set; }
public string Name { get; set; }
public class Item {
public string Name { get; set; }
public string Color { get; set; }
}
public List<Item> Items {get; set;}
}