日期:2014-05-17 浏览次数:20624 次
//数据表原有字段 List<System.String> _listField=new List<System.String>(); /// <summary> /// 数据表字段 /// </summary> public List<System.String> FieldList { get { _listField.Add("AutoID"); _listField.Add("AccountName"); _listField.Add("Password"); _listField.Add("RoleID"); _listField.Add("Email"); _listField.Add("Mobile"); _listField.Add("IsSystem"); _listField.Add("LoginCount"); _listField.Add("LastLoginIP"); _listField.Add("LastLoginArea"); _listField.Add("LastLoginTime"); _listField.Add("AutoTimeStamp"); return _listField; } } ... 然后有段更新模型的代码 public override bool UpdateModel<T>(T model) { bool bolReturn = false; //更新需要一个主键值 int intIDKey = new int(); //数据表名称 string strTableName = string.Empty; //数据表字段 List<string> listField = new List<string>(); Type modelEntityType = model.GetType(); PropertyInfo[] arrProperty = modelEntityType.GetProperties(); StringBuilder builderSQL = new StringBuilder(); List<SqlParameter> listParams = new List<SqlParameter>(); foreach (PropertyInfo property in arrProperty) { //指定的数据库表名 if (property.Name == "DBTableName") { object obj = property.GetValue(model, null); strTableName = obj == null ? string.Empty : obj.ToString(); } //指定的数据表字段 if (property.Name == "FieldList") { object obj = property.GetValue(model, null); listField = (List<string>)obj; } //指定的主键 if (property.Name == "AutoID") { object obj = property.GetValue(model, null); intIDKey = obj == null ? 0 : Convert.ToInt32(obj); } } 神奇的事件就出现在FieldList listField 上面
private List<string> _ss=new List<string> (); public List<string> ss { get { if (_ss.Count > 0) { _ss.Clear(); } else { _ss.Add("1"); _ss.Add("2"); } return _ss; } }
------解决方案--------------------
你是不是不断的拖动断点导致了重复添加数据,那就没错啊