日期:2014-05-20  浏览次数:21032 次

Entity 中如何使类的字段不用到数据库映射
 public string _state { get; set; } 如何将这个字段不使用到数据库的字段对应

目的是解决ExtJs返回的JSON

[{
"UserID":"1",
"Account":"admin",
"Password":"admin",
"UserCName":"admin",
"UserEName":"admin",
"Email":"admin@888.com",
"Telephone":"22222222",
"Mobile":"15899999",
"DepartID":"634579187802656250",
"Sex":1,
"BirthDay":"2011-11-16",
"JobNumber":"0001",
"Address":null,
"Position":null,
"LastLoginTime":null,
"LastLoginIP":null,
"IsEnable":true,
"IsDelete":false,
"IsOnline":false,
"Remark":null,
"Creator":null,
"CreateTime":"2012-08-24",
"_uid":0,"_index":0,                    这是多的。
"RoleID":"634580260901093750",
"_state":"modified"                     这是更新ExtJs的Grid的状态
}]

在操作ExtJs的Grid的时候会多同2个字段来判断操作。
------解决方案--------------------
页面建一个Hidden控件 ID为GridData
给GridData赋值
#{GridData}.setValue(Ext.encode(GridPandel1.getRowsValues(false)));

后台获取代码
 List<Model.User> list = JsonMapper.ToObject<List<Model.User>>(GridData.Value.ToString());

foreach (Model.User user in list)
{
}
Model.User里把你上面那些加进去
如:

 public class User
{//最好用objest类型
public object UserID{ get; set; }
public object Account{ get; set; }
...
}
------解决方案--------------------
页面建一个Hidden控件 ID为GridData
给GridData赋值
#{GridData}.setValue(Ext.encode(GridPandel1.getRowsValues(false)));

后台获取代码
 List<Model.User> list = JsonMapper.ToObject<List<Model.User>>(GridData.Value.ToString());

foreach (Model.User user in list)
{
}
Model.User里把你上面那些加进去
如:

 public class User
{//最好用objest类型
public object UserID{ get; set; }
public object Account{ get; set; }
...
}
------解决方案--------------------
页面建一个Hidden控件 ID为GridData
给GridData赋值
#{GridData}.setValue(Ext.encode(GridPandel1.getRowsValues(false)));

后台获取代码
 List<Model.User> list = JsonMapper.ToObject<List<Model.User>>(GridData.Value.ToString());

foreach (Model.User user in list)
{
}
Model.User里把你上面那些加进去
如:

 public class User
{//最好用objest类型
public object UserID{ get; set; }
public object Account{ get; set; }
...
}
------解决方案--------------------
没看懂我的意思哦,根据"_state":"modified" 这是更新ExtJs的Grid的状态 来做添加,修改,删除的操和,而这个值不是反序列类的属性,反序列后得不到这个值。有没有更好的方法需要2次反序列,一次到位。
------解决方案--------------------
你返回的JSON不是有_state这个属性吗?
你只要判断_state这个值就可以了啊
if(model._state=="add")
{}
else if (model._state=="delete")
{}
难度你就不能在里加个public object _state{ get; set; }这个吗


如果你使用的是ext.net就更简单了
  BLL.Roles bll = new BLL.Roles();   
             ChangeRecords<Model.Roles> persons = e.DataHandler.ObjectData<Model.Roles>();