public virtual ActionResult GetFormJson(string keyValue) { var data = baseBLL.FindByID(keyValue); ResultModel result = OnBeforeGetFormJson(data); if (result != null && result.bSuccess == false) { return(Content("")); } return(Content(JsonAppHelper.ToJson(data))); }
/// <summary> /// 更新对象属性到数据库中 /// </summary> /// <param name="id">主键ID的值</param> /// <param name="formValues">集合信息</param> /// <returns>执行成功返回<c>true</c>,否则为<c>false</c>。</returns> public virtual ActionResult Update(string id, FormCollection formValues) { //检查用户是否有权限,否则抛出MyDenyAccessException异常 base.CheckAuthorized(AuthorizeKey.UpdateKey); #region 对象属性赋值(默认反射方式) T obj = baseBLL.FindByID(id); if (obj != null) { //遍历提交过来的数据(可能是实体类的部分属性更新) foreach (string key in formValues.Keys) { string value = formValues[key]; System.Reflection.PropertyInfo propertyInfo = obj.GetType().GetProperty(key); if (propertyInfo != null) { try { // obj对象有key的属性,把对应的属性值赋值给它(从字符串转换为合适的类型) //如果转换失败,会抛出InvalidCastException异常 propertyInfo.SetValue(obj, ChangeType(value, propertyInfo.PropertyType), null); } catch (Exception ex) { LogHelper.Error(ex); } } } } #endregion CommonResult result = new CommonResult(); try { result = Update(id, obj); } catch (Exception ex) { LogTextHelper.Error(ex);//错误记录 result.ErrorMessage = ex.Message; } return(ToJsonContent(result)); }
/// <summary> /// 更新对象属性到数据库中 /// </summary> /// <param name="info">指定的对象</param> /// <param name="id">主键ID的值</param> /// <returns>执行成功返回<c>true</c>,否则为<c>false</c>。</returns> public virtual ActionResult Update(string id, FormCollection formValues) { //检查用户是否有权限,否则抛出MyDenyAccessException异常 base.CheckAuthorized(AuthorizeKey.UpdateKey); T obj = baseBLL.FindByID(id); if (obj != null) { //遍历提交过来的数据(可能是实体类的部分属性更新) foreach (string key in formValues.Keys) { string value = formValues[key]; System.Reflection.PropertyInfo propertyInfo = obj.GetType().GetProperty(key); if (propertyInfo != null) { try { // obj对象有key的属性,把对应的属性值赋值给它(从字符串转换为合适的类型) //如果转换失败,会抛出InvalidCastException异常 propertyInfo.SetValue(obj, Convert.ChangeType(value, propertyInfo.PropertyType), null); } catch { } } } } CommonResult result = new CommonResult(); try { result.Success = Update(id, obj); } catch (Exception ex) { LogHelper.WriteLog(LogLevel.LOG_LEVEL_CRIT, ex, typeof(BusinessController <B, T>)); result.ErrorMessage = ex.Message; } return(ToJsonContent(result)); }
public virtual ActionResult Update(string id, FormCollection formValues) { base.CheckAuthorized(AuthorizeKey.UpdateKey); T obj = baseBLL.FindByID(id); if (obj != null) { foreach (string key in formValues.Keys) { string value = formValues[key]; string temp = key.Substring(key.IndexOf('.') + 1); System.Reflection.PropertyInfo propertyInfo; if (key.IndexOf('.') != -1) { propertyInfo = obj.GetType().GetProperty(key.Substring(key.IndexOf('.') + 1)); } else { propertyInfo = obj.GetType().GetProperty(key); } if (propertyInfo != null) { try { propertyInfo.SetValue(obj, Convert.ChangeType(value, propertyInfo.PropertyType), null); } catch (Exception e) { //throw new Exception("字段类型转换出错。" + e.ToString()); } } } } bool result = Update(id, obj); return(Content(result)); }
/// <summary> /// 查询数据库,检查是否存在指定ID的对象(用于字符型主键) /// </summary> /// <param name="key">对象的ID值</param> /// <returns>存在则返回指定的对象,否则返回Null</returns> public virtual T FindByID(string key) { return(baseBLL.FindByID(key)); }