/// <summary> /// 根据传入类型-返回对应List /// </summary> /// <typeparam name="T">数据库的表名</typeparam> /// <param name="isBootstrapTable">是否返回BT格式的</param> /// <returns></returns> public static Object GetJson <T>(bool isBootstrapTable = false) where T : class, new() { List <T> Lists = new List <T>(); //传入泛型类 Type EntityType = typeof(T); //--Customers //数据连接实体 Type DbE = typeof(DbEntities); //DbE.CustomersDb try { //获取当前属性对象 PropertyInfo property = DbE.GetProperty(EntityType.Name + "Db"); //返回对象对应属性的值 var result = property.GetValue(new DbEntities()) as SimpleClient <T>; //返回SimpleClient对象的List Lists = result.GetList(); } catch { } //是否返回BootstrapTable类型的Json if (isBootstrapTable) { var rows = JsonConvert.SerializeObject(Lists); string model = "{\"total\":" + Lists.Count + ",\"totalNotFiltered\":" + Lists.Count + ",\"rows\":" + rows + "}"; TablePaginModel <T> paginModel = JsonConvert.DeserializeObject <TablePaginModel <T> >(model); return(paginModel); } return(Lists); }
/// <summary> /// 获取对象所有的数据 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="ExterSql">需额外执行的Sql语句</param> /// <returns></returns> private TablePaginModel <T> GetTablePaginModel <T>(string ExterSql = null) where T : class, new() { #region 获取表中的参数 if (!int.TryParse(Request["offset"], out int offset)) { offset = 0; } if (!int.TryParse(Request["limit"], out int limit)) { limit = 0; } string keyword = Request["keyword"] ?? ""; string sortName = Request["sortName"] ?? ""; string sortOrder = Request["sortOrder"] ?? ""; #endregion List <T> datas = new DbHelper().GetDatas <T>(keyword, sortName, sortOrder, offset, limit, out int cnt, ExterSql); //重新拼接json数据,返回TB_json格式 string res = JsonSerialize(datas, cnt); try { TablePaginModel <T> paginModel = JsonConvert.DeserializeObject <TablePaginModel <T> >(res); return(paginModel); } catch { throw; } }