我有一个 WebService,它需要通过 Json 定义类型的列表。
班级:
public class myType
{
public int id { get; set;}
public int? varA { get; set;}
public string varB { get; set;}
public float? varC { get; set;}
}
逻辑:
//Passed JSON --> Data:{'id':'1','varA':''}
[HttpPost]
public JsonResult Update(myType Data)
{
//Data ends up with value's id = 1; varA = null; varB = null; varC = null;
//So how can I find that valueA was actually passed with a null value, and all the
//others are just nulling by default?
if (Data.varA.HasValue) dbItem.varA = Data.varA
...
}
让我们假设 myType 有几个值,例如 {id, varA, varB, varC} 除了 id 之外的所有值都可以为空。
现在,我故意只想清空 1 个值
Data:{'id':'1','valueA':''}
问题是,为了节省带宽,我只发送 id,以及 JSON 中已更新的任何值,例如id
:对象的所有其他变量的空值。
那么,我该怎么做才能知道哪些发出的变量是通过 json 发送到 webmethod 的呢?所以我可以分辨出我真正想要为空的变量是什么?
更多信息:使用 ExtJS 4 作为前端。这个问题与 Ext.Store 的