我有一个带有构造函数的类,如下所示
public SomeClass
{
List<string> MyList;
public SomeClass()
{
this.MyList = new List<string>() { "1","2","3" };
}
}
我的ajax帖子如下:
{MyList:["a","b","c"]}
在我拥有的控制器中
public void Post([FromBody]Models.SomeClass example)
{
Debug.WriteLine(example.MyList);
}
输出是:
["1","2","3","a","b","c"]
我期待:
["a","b","c"]
我希望确切地发布了所发布的内容而不是附加了发布值的初始值。不确定这里发生了什么,为什么列表的初始状态没有被覆盖?
答案 0 :(得分:1)
我知道,你可以从结果中推断出来,你很好地说明了这一点。
但是我最终要做的是将类型构造函数中的任何初始值设置移出到Factory中,以便我需要设置这些“默认”值。然后当new()
作为POST的一部分被调用时,它返回一个空的List,因此从POST添加的值是唯一以该对象结束的值。