通用DAL类

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using System.Web; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Reflection;

namespace MTS2.IDAL {     public class IPublic_Interface : MTS2.DBUtility.MySqlServerHelper     {

 

        /// <summary>         /// SQL 语句字符文本;         /// </summary>         public String SQL_Str = "";         /// <summary>         /// 表名称公用变量         /// </summary>         public String Table_Name = "";         /// <summary>         /// 控件标签         /// </summary>         public String Controls_Label = "";         /// <summary>         /// 对象属性标签         /// </summary>         public String Property_Label = "";         /// <summary>         /// 对象字段标签         /// </summary>         public String Fields_Label = "";         /// <summary>         /// 控件前缀变量         /// </summary>         public String Controls_Prefix = "";         /// <summary>         /// 对象属性前缀变量         /// </summary>         public String Property_Prefix = "";         /// <summary>         /// 对象字段前缀变量         /// </summary>         public String Fields_Prefix = "";         /// <summary>         /// 类名称前缀变量         /// </summary>         public String Class_Name_Prefix = "";         /// <summary>         /// 前缀变量         /// </summary>         public String Common_Prefix = "";         /// <summary>         /// SQL预留部分字段字符串         /// </summary>         public String SQL_Paras = "";         /// <summary>         /// 用户ID         /// </summary>         public String User_ID = "";         /// <summary>         /// 用户部门名称         /// </summary>         public String User_Depart_Name = "";         /// <summary>         /// 用户部门ID         /// </summary>         public String User_Depart_ID = "";         /// <summary>         /// 用户部门编号         /// </summary>         public String User_CoCode = "";         /// <summary>         /// 部门班次         /// </summary>         public String User_ShiftID = "";         /// <summary>         /// 用户权限名称         /// </summary>         public String USer_Grant_Name = "";         /// <summary>         /// 用户权限ID         /// </summary>         public String User_Grant_ID = "";         /// <summary>         /// 用户添加权限         /// </summary>         public String User_Allowadd = "";         /// <summary>         /// 用户编辑权限         /// </summary>         public String User_Allowedit = "";         /// <summary>         /// 用户权限扩展         /// </summary>         public String User_Allowexp = "";         /// <summary>         /// 用户状态         /// </summary>         public String User_Status = "";         /// <summary>         /// 用户岗位编号LIst         /// </summary>         public String User_GroupID = "";         /// <summary>         /// 公用DATASET变量         /// </summary>         public DataSet DS = new DataSet();         /// <summary>         /// 公用DATATABLE变量         /// </summary>         public DataTable DT = new DataTable();

        public IWeb_Cache webCache = new IWeb_Cache();

        /// <summary>         /// 泛型获取SQL  INSERT字符串         /// </summary>         /// <typeparam name="T">对象类型</typeparam>         /// <param name="md">对象类型参数</param>         /// <returns>返回SQL INSERT语句;调用方法:  </returns>         public String SqlInsertBuilder<T>(T md)         {

            String SQL_STR_INSERT_HEADER = "insert  into mytablename(";             string SQL_STR_INSERT_FIELDS = "";             string SQL_STR_INSERT_VALUES = "";             string SQL_STR = "";             Type type = md.GetType();             String str = type.Name.ToString();             if (Table_Name.ToString().Trim().Length < 2)             {                 String[] myarr;                 myarr = str.Split('_');                 Table_Name = myarr[myarr.Length - 1].ToString();             }

            Common_Prefix = Table_Name + "_";             SQL_STR_INSERT_HEADER = SQL_STR_INSERT_HEADER.Replace("mytablename", Table_Name.ToString());

            object obj = Activator.CreateInstance(type);             PropertyInfo[] props = type.GetProperties(BindingFlags.Public | BindingFlags.Instance);             foreach (PropertyInfo p in props)             {                 if (p.GetValue(md, null).ToString().Trim().Length > 0)                 {                     SQL_STR_INSERT_FIELDS = SQL_STR_INSERT_FIELDS + p.Name.ToLower().ToString().Replace(Common_Prefix.ToLower().ToString(), "") + ",";                     SQL_STR_INSERT_VALUES = SQL_STR_INSERT_VALUES + "', '" + p.GetValue(md, null).ToString().Trim();                 }

            }             if (SQL_STR_INSERT_FIELDS.ToString().Trim().Length > 3)             {                 SQL_STR = SQL_STR_INSERT_HEADER + SQL_STR_INSERT_FIELDS.Substring(0, SQL_STR_INSERT_FIELDS.Length - 1) + ")values(" + SQL_STR_INSERT_VALUES.Substring(2, SQL_STR_INSERT_VALUES.Length - 2) + "')";             }             return SQL_STR.ToUpper();         }

        public String SqlInsertBuilder(DataSet Ds)         {             DataTable dt = new DataTable();             if (Ds != null)             {                 if (Ds.Tables.Count > 0)                 {                     dt = Ds.Tables[0];                 }             }             String SQL_STR_INSERT_HEADER = "insert  into mytablename(";             string SQL_STR_INSERT_FIELDS = "";             string SQL_STR_INSERT_VALUES = "";             string SQL_STR = "";

            if (dt.Rows.Count > 0)             {                 SQL_STR = "";

                foreach (DataRow dr in dt.Rows)                 {                     SQL_STR_INSERT_HEADER = "insert  into mytablename(";                     SQL_STR_INSERT_HEADER = SQL_STR_INSERT_HEADER.Replace("mytablename", Table_Name.ToString());                     foreach (DataColumn dc in dt.Columns)                     {                         SQL_STR_INSERT_FIELDS = SQL_STR_INSERT_FIELDS + dc.ColumnName.ToLower().ToString() + ",";                         SQL_STR_INSERT_VALUES = SQL_STR_INSERT_VALUES + "', '" + dr[dc.ColumnName].ToString().Trim();                     }                     if (SQL_STR_INSERT_FIELDS.ToString().Trim().Length > 3)                     {                         SQL_STR = SQL_STR + SQL_STR_INSERT_HEADER + SQL_STR_INSERT_FIELDS.Substring(0, SQL_STR_INSERT_FIELDS.Length - 1) + ")values(" + SQL_STR_INSERT_VALUES.Substring(2, SQL_STR_INSERT_VALUES.Length - 2) + "');";                     }                 }

            }             return SQL_STR;         }         public String SqlInsertBuilder(DataTable dt)         {             String SQL_STR_INSERT_HEADER = "insert  into mytablename(";             string SQL_STR_INSERT_FIELDS = "";             string SQL_STR_INSERT_VALUES = "";             string SQL_STR = "";

            if (dt.Rows.Count > 0)             {                 SQL_STR = "";

                foreach (DataRow dr in dt.Rows)                 {                     SQL_STR_INSERT_HEADER = "insert  into mytablename(";                     SQL_STR_INSERT_HEADER = SQL_STR_INSERT_HEADER.Replace("mytablename", Table_Name.ToString());                     foreach (DataColumn dc in dt.Columns)                     {                         SQL_STR_INSERT_FIELDS = SQL_STR_INSERT_FIELDS + dc.ColumnName.ToLower().ToString() + ",";                         SQL_STR_INSERT_VALUES = SQL_STR_INSERT_VALUES + "', '" + dr[dc.ColumnName].ToString().Trim();                     }                     if (SQL_STR_INSERT_FIELDS.ToString().Trim().Length > 3)                     {                         SQL_STR = SQL_STR + SQL_STR_INSERT_HEADER + SQL_STR_INSERT_FIELDS.Substring(0, SQL_STR_INSERT_FIELDS.Length - 1) + ")values(" + SQL_STR_INSERT_VALUES.Substring(2, SQL_STR_INSERT_VALUES.Length - 2) + "');";                     }                 }

            }             return SQL_STR;         }         public String SqlSelectStrByKeyBuilder<T>(string Keystr)         {             string SQL_STR = "";             Type type = typeof(T).GetType();             Table_Name = typeof(T).Name.ToString();             if (Table_Name.ToString().Trim().Length > 2)             {                 String str = Table_Name.ToString();                 String[] myarr;                 myarr = str.Split('_');                 Table_Name = myarr[myarr.Length - 1].ToString();             }

            if (Keystr.ToString().Trim().Length > 0)             {                 SQL_STR = "select * from " + Table_Name.ToString() + "  where   " + Keystr.ToString();

            }             return SQL_STR.ToUpper();         }         /// <summary>         /// 通过泛型动态获取SQL  SELECT字符串         /// </summary>         /// <typeparam name="T">对象类型</typeparam>         /// <param name="md">对象类型实例</param>         /// <returns>返回SQL SELECT语句;调用方法: </returns>         public String SqlStrSelectBuilder<T>(T md)         {             String SQL_STR_INSERT_HEADER = "select  ";             string SQL_STR_INSERT_FIELDS = "";             string SQL_STR_INSERT_VALUES = "";             string SQL_STR = "";             Type type = md.GetType();             if (Table_Name.ToString().Trim().Length < 2)             {                 String str = type.Name.ToString();                 String[] myarr;                 myarr = str.Split('_');                 Table_Name = myarr[myarr.Length - 1].ToString();             }

            object obj = Activator.CreateInstance(type);             PropertyInfo[] props = type.GetProperties(BindingFlags.Public | BindingFlags.Instance);

            Common_Prefix = Table_Name + "_";             foreach (PropertyInfo p in props)             {                 SQL_STR_INSERT_FIELDS = SQL_STR_INSERT_FIELDS + p.Name.ToLower().ToString().Replace(Common_Prefix.ToLower().ToString(), "") + "  ,";

                if (p.GetValue(md, null).ToString().Trim().Length > 0)                 {                     SQL_STR_INSERT_VALUES = SQL_STR_INSERT_VALUES + p.Name.ToLower().ToString().Replace(Common_Prefix.ToLower().ToString(), "") + "='" + p.GetValue(md, null).ToString().Trim() + "'  and ";                 }

            }             if (SQL_STR_INSERT_FIELDS.ToString().Trim().Length > 3)             {                 if (SQL_STR_INSERT_VALUES.Length == 0)                 {                     SQL_STR = "";                 }                 else                 {                     SQL_STR = SQL_STR_INSERT_HEADER + SQL_STR_INSERT_FIELDS.Substring(0, SQL_STR_INSERT_FIELDS.Length - 1) + "  from tablename where " + SQL_STR_INSERT_VALUES.Substring(0, SQL_STR_INSERT_VALUES.Length - 4);                 }                 SQL_STR = SQL_STR.Replace("tablename", Table_Name.ToString());             }             return SQL_STR.ToUpper();         }         /// <summary>         /// 根据对象参数所指定条件生成删除数据信息的SQL语句         /// </summary>         /// <typeparam name="T">对象类型</typeparam>         /// <param name="md">对象参数所</param>         /// <returns>返回生成的字符串</returns>         public String SqlStrDeleteBuilder<T>(T md)         {             String SQL_STR_INSERT_HEADER = "Delete    ";             string SQL_STR_INSERT_FIELDS = "";             string SQL_STR_INSERT_VALUES = "";             string SQL_STR = "";             Type type = md.GetType();             if (Table_Name.ToString().Trim().Length < 2)             {                 String str = type.Name.ToString();                 String[] myarr;                 myarr = str.Split('_');                 Table_Name = myarr[myarr.Length - 1].ToString();             }

            object obj = Activator.CreateInstance(type);             PropertyInfo[] props = type.GetProperties(BindingFlags.Public | BindingFlags.Instance);

            Common_Prefix = Table_Name + "_";             foreach (PropertyInfo p in props)             {                 SQL_STR_INSERT_FIELDS = SQL_STR_INSERT_FIELDS + p.Name.ToLower().ToString().Replace(Common_Prefix.ToLower().ToString(), "") + "  ,";

                if (p.GetValue(md, null).ToString().Trim().Length > 0)                 {                     SQL_STR_INSERT_VALUES = SQL_STR_INSERT_VALUES + p.Name.ToLower().ToString().Replace(Common_Prefix.ToLower().ToString(), "") + "='" + p.GetValue(md, null).ToString().Trim() + "',";                 }

            }             if (SQL_STR_INSERT_FIELDS.ToString().Trim().Length > 3)             {                 SQL_STR = SQL_STR_INSERT_HEADER + "  from tablename where " + SQL_STR_INSERT_VALUES.Substring(0, SQL_STR_INSERT_VALUES.Length - 1);                 SQL_STR = SQL_STR.Replace("tablename", Table_Name.ToString());             }             return SQL_STR.ToUpper();         }         /// <summary>         /// 通过泛型动态获取SQL  UPDATE字符串         /// </summary>         /// <typeparam name="T">对象类型</typeparam>         /// <param name="md">对象类型实例</param>         /// <param name="SQL_CASE">SQL更新条件</param>         /// <returns>返回SQL UPDATE语句;调用方法:  </returns>         public String SqlStrUpdateBuilder<T>(T md, string SQL_CASE)         {             String SQL_STR_UPDATE_HEADER = "UPDATE  MYTABLENAME  SET   ";             string SQL_STR_UPDATE_FIELDS = "";             string SQL_STR_UPDATE_VALUES = "";             string SQL_STR = "";             SQL_STR_UPDATE_FIELDS = SQL_CASE;             Type type = md.GetType();             String str = type.Name.ToString();             if (Table_Name.ToString().Trim().Length < 2)             {                 String[] myarr;                 myarr = str.Split('_');                 Table_Name = myarr[myarr.Length - 1].ToString();             }

            Common_Prefix = Table_Name + "_";             SQL_STR_UPDATE_HEADER = SQL_STR_UPDATE_HEADER.Replace("MYTABLENAME", Table_Name.ToString());

            object obj = Activator.CreateInstance(type);             PropertyInfo[] props = type.GetProperties(BindingFlags.Public | BindingFlags.Instance);             foreach (PropertyInfo p in props)             {                 if (p.GetValue(md, null).ToString().Trim().Length > 0)                 {

                    SQL_STR_UPDATE_VALUES = SQL_STR_UPDATE_VALUES + p.Name.ToLower().ToString().Replace(Common_Prefix.ToLower().ToString(), "") + "='" + p.GetValue(md, null).ToString().Trim() + "',";                 }

            }

            if (SQL_STR_UPDATE_FIELDS.ToString().Trim().Length > 3)             {                 SQL_STR = SQL_STR_UPDATE_HEADER + SQL_STR_UPDATE_VALUES.Substring(0, SQL_STR_UPDATE_VALUES.Length - 1) + "    where " + SQL_STR_UPDATE_FIELDS.ToString();             }             else             {                 SQL_STR = "";             }             return SQL_STR.ToUpper();         }         /// <summary>         /// 通过DATATABLE参数为指定类型对象赋值(为指定类型对象属性赋值)         /// </summary>         /// <typeparam name="T">指定类型</typeparam>         /// <param name="dt">DATATABLE参数</param>         /// <returns>返回已经赋值的指定对象实例;调用方法: </returns>         public T SetPropertyValueForObjectByDt<T>(DataTable dt)         {             System.Type Object_Type = typeof(T);//获取指定名称的类型

            String str = typeof(T).GetType().Name.ToString();             if (Table_Name.ToString().Trim().Length < 2)             {                 String[] myarr;                 myarr = str.Split('_');                 Table_Name = myarr[myarr.Length - 1].ToString();             }

            Common_Prefix = Table_Name + "_";             object Object_Instance = Activator.CreateInstance(Object_Type, null);//创建指定类型实例             PropertyInfo[] fields = Object_Instance.GetType().GetProperties();//获取指定对象的所有公共属性             object obj = Activator.CreateInstance(Object_Type, null);             if (dt.Rows.Count == 1)             {                 foreach (DataRow dr in dt.Rows)                 {                     foreach (DataColumn dc in dt.Columns)                     {                         foreach (PropertyInfo t in fields)                         {                             if (dc.ColumnName == t.Name.ToLower().ToString().Replace(Common_Prefix.ToLower().ToString(), ""))                             {                                 t.SetValue(obj, dr[dc.ColumnName].ToString(), null);//给对象赋值                                 continue;                             }

                        }

                    }                 }

            }             return (T)obj;         }         /// <summary>         /// 通过泛型方法的DATATABLE参数  为指定类型的对象赋值(为指定类型对象属性赋值)         /// </summary>         /// <typeparam name="T">对象类型</typeparam>         /// <param name="dt">数据表</param>         /// <param name="Class_name">对象类型名称</param>         /// <returns>返回指定类型对象;调用方法: </returns>         public T SetPropertyValueForObjectByClassNameAndDt<T>(DataTable dt, string Class_name)         {             System.Type Object_Type = System.Type.GetType(Class_name);//获取指定名称的类型             String str = typeof(T).GetType().Name.ToString();             if (Table_Name.ToString().Trim().Length < 2)             {                 String[] myarr;                 myarr = str.Split('_');                 Table_Name = myarr[myarr.Length - 1].ToString();             }

            Common_Prefix = Table_Name + "_";             object Object_Instance = Activator.CreateInstance(Object_Type, null);//创建指定类型实例             PropertyInfo[] fields = Object_Instance.GetType().GetProperties();//获取指定对象的所有公共属性             object obj = Activator.CreateInstance(Object_Type, null);             if (dt.Rows.Count == 1)             {                 foreach (DataRow dr in dt.Rows)                 {                     foreach (DataColumn dc in dt.Columns)                     {                         foreach (PropertyInfo t in fields)                         {                             if (dc.ColumnName == t.Name.ToLower().ToString().Replace(Common_Prefix.ToLower().ToString(), ""))                             {                                 t.SetValue(obj, dr[dc.ColumnName].ToString(), null);//给对象赋值                                 continue;                             }

                        }

                    }                 }

            }             return (T)obj;         }         /// <summary>         /// 通过DATATABLE和对象实例参数 为对象赋值(为指定类型对象属性赋值)         /// </summary>         /// <typeparam name="T">对象类型</typeparam>         /// <param name="dt">DATATABLE 类型参数</param>         /// <param name="Entry_Object">对象实例</param>         /// <returns>返回指定类型对象实例;调用方法: </returns>         public T SetPropertyValueForObjectByObjectAndDt<T>(DataTable dt, T Entry_Object)         {             Type Object_Type = Entry_Object.GetType();//获取指定名称的类型             object Object_Instance = Activator.CreateInstance(Object_Type, null);//创建指定类型实例             PropertyInfo[] fields = Object_Instance.GetType().GetProperties();//获取指定对象的所有公共属性             object obj = Activator.CreateInstance(Object_Type, null);             String str = typeof(T).GetType().Name.ToString();             if (Table_Name.ToString().Trim().Length < 2)             {                 String[] myarr;                 myarr = str.Split('_');                 Table_Name = myarr[myarr.Length - 1].ToString();             }

            Common_Prefix = Table_Name + "_";             if (dt.Rows.Count == 1)             {                 foreach (DataRow dr in dt.Rows)                 {                     foreach (DataColumn dc in dt.Columns)                     {                         foreach (PropertyInfo t in fields)                         {                             if (dc.ColumnName.ToLower() == t.Name.ToLower().ToString().Replace(Common_Prefix.ToLower().ToString(), ""))                             {                                 t.SetValue(obj, dr[dc.ColumnName].ToString(), null);//给对象赋值                                 continue;                             }

                        }

                    }                 }

            }             return (T)obj;         }         /// <summary>         /// 通过DATATABLE类型参数为指定类型对象字段赋值         /// </summary>         /// <typeparam name="T">指定类型</typeparam>         /// <param name="dt">DATDTABLE参数</param>         /// <returns>返回指定类型对象;调用方法: </returns>         public T SetFieldinfoValueForObjectByDt<T>(DataTable dt)         {             Type Object_Type = typeof(T);//获取指定名称的类型             object Object_Instance = Activator.CreateInstance(Object_Type, null);//创建指定类型实例             FieldInfo[] fields = Object_Instance.GetType().GetFields();//获取指定对象的所有公共属性             object obj = Activator.CreateInstance(Object_Type, null);

            if (dt.Rows.Count == 1)             {                 foreach (DataRow dr in dt.Rows)                 {                     foreach (DataColumn dc in dt.Columns)                     {                         foreach (FieldInfo f in fields)                         {                             if (dc.ColumnName.ToLower() == f.Name.ToLower())                             {                                 f.SetValue(obj, dr[dc.ColumnName.ToString()].ToString());//给对象赋值                                 continue;                             }

                        }

                    }                 }

            }             return (T)obj;         }         /// <summary>         /// 通过DATATABLE数据返回对象数组         /// </summary>         /// <typeparam name="T">泛型类参数</typeparam>         /// <param name="dt">数据表参数</param>         /// <returns>返回对象LIST数据</returns>         public List<T> SetFieldinfoValueForObjectListByDt<T>(DataTable dt)         {             List<T> list = new List<T>();             //定义T类型的实体             Type Object_Type = typeof(T);//获取指定名称的类型             object Object_Instance = Activator.CreateInstance(Object_Type, null);//创建指定类型实例             if (dt.Rows.Count == 1)             {                 foreach (DataRow dr in dt.Rows)                 {                     FieldInfo[] fields = Object_Instance.GetType().GetFields();//获取指定对象的所有公共属性                     object obj = Activator.CreateInstance(Object_Type, null);

                    foreach (DataColumn dc in dt.Columns)                     {                         foreach (FieldInfo f in fields)                         {

                            if (dc.ColumnName.ToLower() == f.Name.ToLower())                             {                                 f.SetValue(obj, dr[dc.ColumnName.ToString()].ToString());//给对象赋值                                 continue;                             }

                        }

                    }                     list.Add(((T)obj));                 }

            }             return list;         }         /// <summary>         /// 通过DATATABLE数据参数和指定实例类型参数来对实体类型参数赋值(为指定类型对象字段赋值)         /// </summary>         /// <typeparam name="T">指定类型</typeparam>         /// <param name="dt">DATATABLE数据参数</param>         /// <param name="Entry_Object">指定类型参数</param>         /// <returns>返回赋值完毕后的指定类型对象;调用方法: </returns>         public T SetFieldinfoValueForObjectByObjectAndDt<T>(DataTable dt, T Entry_Object)         {             Type Object_Type = Entry_Object.GetType();//获取指定名称的类型             object Object_Instance = Activator.CreateInstance(Object_Type, null);//创建指定类型实例             FieldInfo[] fields = Object_Instance.GetType().GetFields();//获取指定对象的所有公共属性             object obj = Activator.CreateInstance(Object_Type, null);             if (dt.Rows.Count == 1)             {                 foreach (DataRow dr in dt.Rows)                 {                     foreach (DataColumn dc in dt.Columns)                     {                         foreach (FieldInfo f in fields)                         {                             if (dc.ColumnName.ToLower() == f.Name.ToLower())                             {                                 f.SetValue(obj, dr[dc.ColumnName].ToString());//给对象赋值                                 continue;                             }

                        }

                    }                 }

            }             else             {                 foreach (DataRow dr in dt.Rows)                 {                     foreach (DataColumn dc in dt.Columns)                     {                         foreach (FieldInfo f in fields)                         {                             if (dc.ColumnName.ToLower() == f.Name.ToLower())                             {                                 f.SetValue(obj, dr[dc.ColumnName].ToString());//给对象赋值                                 continue;                             }

                        }

                    }                 }             }             return (T)obj;         }         /// <summary>         /// 通过DATATABLE数据参数和指定实例类型名称参数来对实体类型参数赋值(为指定类型对象字段赋值)         /// </summary>         /// <typeparam name="T">指定实例类型</typeparam>         /// <param name="dt">DATATABLE数据参数</param>         /// <param name="Class_Name">指定实例类型名称</param>         /// <returns>返回赋值完毕后的指定类型对象;调用方法: </returns>         public T SetFieldinfoValueForObjectObjectByClassNameAndDt<T>(DataTable dt, String Class_Name)         {             System.Type Object_Type = System.Type.GetType(Class_Name);//获取指定名称的类型             object Object_Instance = Activator.CreateInstance(Object_Type, null);//创建指定类型实例             FieldInfo[] fields = Object_Instance.GetType().GetFields();//获取指定对象的所有公共属性             object obj = Activator.CreateInstance(Object_Type, null);             if (dt.Rows.Count == 1)             {                 foreach (DataRow dr in dt.Rows)                 {                     foreach (DataColumn dc in dt.Columns)                     {                         foreach (FieldInfo f in fields)                         {                             if (dc.ColumnName.ToLower() == f.Name.ToLower())                             {                                 f.SetValue(obj, dr[dc.ColumnName].ToString());//给对象赋值                                 continue;                             }

                        }

                    }                 }

            }             return (T)obj;         }         /// <summary>         /// 通过指定类型对象,为页面容器中的控件(TextBox)赋值;         /// </summary>         /// <typeparam name="T">指定类型</typeparam>         /// <param name="md">指定类型参数</param>         /// <param name="controls_content">容器控件名</param>         public void SetValueForTextBoxByObject<T>(T md, Control controls_content)         {             Type type = md.GetType();             object obj = Activator.CreateInstance(type);             FieldInfo[] props = type.GetFields();             foreach (FieldInfo p in props)             {                 foreach (Control ctrl in controls_content.Controls)                 {                     if (ctrl is TextBox)                     {                         String str = ctrl.ID.ToString();                         Controls_Prefix = "";                         String[] myarr;                         myarr = str.Split('_');                         Controls_Prefix = myarr[myarr.Length - 1].ToString();

                        if (p.Name.ToLower().ToString() == Controls_Prefix.ToString())                         {

                            ((TextBox)ctrl).Text = p.GetValue(md).ToString();                         }                     }                 }

            }         }         /// <summary>         /// 通过DATATABLE参数和控件容器为空件容器中的TEXTBOX赋值;         /// </summary>         /// <param name="dt">DATATABLE参数</param>         /// <param name="controls_content">容器控件</param>         public void SetValueForTextBoxByDt(DataTable dt, Control controls_content)         {             if (dt.Rows.Count == 1)             {                 foreach (DataRow dr in dt.Rows)                 {                     foreach (DataColumn dc in dt.Columns)                     {                         foreach (Control ctrl in controls_content.Controls)                         {                             if (ctrl is TextBox)                             {                                 String str = ctrl.ID.ToString();                                 Controls_Prefix = "";                                 String[] myarr;                                 myarr = str.Split('_');                                 Controls_Prefix = myarr[myarr.Length - 1].ToString();

                                if (dc.ColumnName.ToLower().ToString() == Controls_Prefix.ToLower().ToString())                                 {

                                    ((TextBox)ctrl).Text = dr[dc.ColumnName].ToString();                                     continue;                                 }                             }                         }                     }                 }             }

        }

        public void SetValueForLabelByDt(DataTable dt, Control controls_content)         {             if (dt.Rows.Count == 1)             {                 foreach (DataRow dr in dt.Rows)                 {                     foreach (DataColumn dc in dt.Columns)                     {                         foreach (Control ctrl in controls_content.Controls)                         {                             if (ctrl is Label)                             {                                 String str = ctrl.ID.ToString();                                 Controls_Prefix = "";                                 String[] myarr;                                 myarr = str.Split('_');                                 Controls_Prefix = myarr[myarr.Length - 1].ToString();

                                if (dc.ColumnName.ToLower().ToString() == Controls_Prefix.ToLower().ToString())                                 {

                                    ((Label)ctrl).Text = dr[dc.ColumnName].ToString();                                     continue;                                 }                             }                         }                     }                 }             }

        }

        public void SetValueForLabelBy_Object<T>(T md, Control controls_content)         {             Type type = md.GetType();             object obj = Activator.CreateInstance(type);             FieldInfo[] props = type.GetFields();             foreach (FieldInfo p in props)             {                 foreach (Control ctrl in controls_content.Controls)                 {                     if (ctrl is Label)                     {                         String str = ctrl.ID.ToString();                         Controls_Prefix = "";                         String[] myarr;                         myarr = str.Split('_');                         Controls_Prefix = myarr[myarr.Length - 1].ToString();

                        if (p.Name.ToLower().ToString() == Controls_Prefix.ToLower().ToString())                         {

                            ((Label)ctrl).Text = p.GetValue(obj).ToString();                         }                     }                 }

            }         }         /// <summary>         /// 生成类中属性和字段的流代码         /// </summary>         /// <param name="propertyName">字段名称</param>         /// <returns>返回文本字符串;调用方法: </returns>         public String CreateClassPropertyFieldsString(String Prefix, String propertyName)         {             StringBuilder sbProperty = new StringBuilder();             sbProperty.Append(" /*<br>*" + "对应数据库中表“" + Prefix.ToString() + "”中的字段:" + propertyName.ToString() + "<BR>*/<BR>" + "public   String   " + propertyName + "   = \"\";\n<br>");             sbProperty.Append(" /*<br>*" + "对应数据库中表“" + Prefix.ToString() + "”中的字段:" + propertyName.ToString() + "<BR>*/<BR>" + " public   String   " + Prefix.ToString() + propertyName + "\n");             sbProperty.Append(" {<br>\n");             sbProperty.Append("<br> get{ <br>  return   " + propertyName + ";<br>}   \n");             sbProperty.Append("<br> set{ <br>  " + propertyName + "   =   value;  <br> }\n");             sbProperty.Append(" <br>}<br>");             return sbProperty.ToString();         }         /// <summary>         /// 通过页面控件(TextBox)为指定对象类型实例对象赋值         /// </summary>         /// <typeparam name="T">指定对象类型</typeparam>         /// <param name="Entry_Object">实例对象</param>         /// <param name="controls_content">控件容器名称</param>         /// <returns>返回赋值后的指定类型;调用方法: </returns>         public T SetFieldinfoValueForObjectByControls<T>(T Entry_Object, Control controls_content)         {             Type Object_Type = Entry_Object.GetType();//获取指定名称的类型             object Object_Instance = Activator.CreateInstance(Object_Type, null);//创建指定类型实例             FieldInfo[] fields = Object_Instance.GetType().GetFields();//获取指定对象的所有公共属性             object obj = Activator.CreateInstance(Object_Type, null);             foreach (Control ctrl in controls_content.Controls)             {                 foreach (FieldInfo p in fields)                 {

                    if (ctrl is TextBox)                     {                         String str = ctrl.ID.ToString();                         Controls_Prefix = "";                         String[] myarr;                         myarr = str.Split('_');                         Controls_Prefix = myarr[myarr.Length - 1].ToString();

                        if (p.Name.ToLower().ToString() == Controls_Prefix.ToLower().ToString() && ((TextBox)ctrl).Text.ToString().Trim().Length > 0)                         {                             p.SetValue(obj, ((TextBox)ctrl).Text.ToString());//给对象赋值                             continue;  // ((TextBox)ctrl).Text = p.GetValue(md, null).ToString();                         }

                    }                     //RadioButtonList                     if (ctrl is RadioButtonList)                     {                         String str = ctrl.ID.ToString();                         Controls_Prefix = "";                         String[] myarr;                         myarr = str.Split('_');                         Controls_Prefix = myarr[myarr.Length - 1].ToString();

                        if (p.Name.ToLower().ToString() == Controls_Prefix.ToLower().ToString() && ((RadioButtonList)ctrl).SelectedValue.ToString().Trim().Length > 0)                         {                             p.SetValue(obj, ((RadioButtonList)ctrl).SelectedValue.ToString());//给对象赋值                             continue;  // ((TextBox)ctrl).Text = p.GetValue(md, null).ToString();                         }

                    }                     //DropDownList                     if (ctrl is DropDownList)                     {                         String str = ctrl.ID.ToString();                         Controls_Prefix = "";                         String[] myarr;                         myarr = str.Split('_');                         Controls_Prefix = myarr[myarr.Length - 1].ToString();

                        if (p.Name.ToLower().ToString() == Controls_Prefix.ToLower().ToString() && ((DropDownList)ctrl).SelectedValue.ToString().Trim().Length > 0)                         {                             p.SetValue(obj, ((DropDownList)ctrl).SelectedValue.ToString());//给对象赋值                             continue;  // ((TextBox)ctrl).Text = p.GetValue(md, null).ToString();                         }

                    }

                    //CheckBoxList                     if (ctrl is CheckBoxList)                     {                         String str = ctrl.ID.ToString();                         Controls_Prefix = "";                         String[] myarr;                         myarr = str.Split('_');                         Controls_Prefix = myarr[myarr.Length - 1].ToString();

                        string checkliststr = "";                         for (int i = 0; i < ((CheckBoxList)ctrl).Items.Count; i++)                         {                             if (((CheckBoxList)ctrl).Items[i].Selected == true)                             {                                 checkliststr = checkliststr + ((CheckBoxList)ctrl).SelectedValue.ToString() + ";";                             }                         }

                        checkliststr = checkliststr.Substring(0, checkliststr.Length - 1);                         if (p.Name.ToLower().ToString() == Controls_Prefix.ToLower().ToString() && checkliststr.ToString().Trim().Length > 0)                         {                             p.SetValue(obj, checkliststr.ToString());//给对象赋值                             continue;  // ((TextBox)ctrl).Text = p.GetValue(md, null).ToString();                         }

                    }                 }

            }             return (T)obj;         }         /// <summary>         /// 通过页面控件(TextBox)为指定对象类型实例对象赋值         /// </summary>         /// <typeparam name="T">指定对象类型</typeparam>         /// <param name="controls_content">控件容器名称</param>         /// <returns>返回赋值后的指定对象</returns>         public T SetFieldinfoValueForObjectByControls<T>(Control controls_content)         {             Type Object_Type = typeof(T);//获取指定名称的类型             object Object_Instance = Activator.CreateInstance(Object_Type, null);//创建指定类型实例             FieldInfo[] fields = Object_Instance.GetType().GetFields();//获取指定对象的所有公共属性             object obj = Activator.CreateInstance(Object_Type, null);             foreach (Control ctrl in controls_content.Controls)             {                 foreach (FieldInfo p in fields)                 {

                    if (ctrl is TextBox)                     {                         String str = ctrl.ID.ToString();                         Controls_Prefix = "";                         String[] myarr;                         myarr = str.Split('_');                         Controls_Prefix = myarr[myarr.Length - 1].ToString();

                        if (p.Name.ToLower().ToString() == Controls_Prefix.ToLower().ToString() && ((TextBox)ctrl).Text.ToString().Trim().Length > 0)                         {                             p.SetValue(obj, ((TextBox)ctrl).Text.ToString());//给对象赋值                             continue;  // ((TextBox)ctrl).Text = p.GetValue(md, null).ToString();                         }

                    }                     //RadioButtonList                     if (ctrl is RadioButtonList)                     {                         String str = ctrl.ID.ToString();                         Controls_Prefix = "";                         String[] myarr;                         myarr = str.Split('_');                         Controls_Prefix = myarr[myarr.Length - 1].ToString();

                        if (p.Name.ToLower().ToString() == Controls_Prefix.ToLower().ToString() && ((RadioButtonList)ctrl).SelectedValue.ToString().Trim().Length > 0)                         {                             p.SetValue(obj, ((RadioButtonList)ctrl).SelectedValue.ToString());//给对象赋值                             continue;  // ((TextBox)ctrl).Text = p.GetValue(md, null).ToString();                         }

                    }                     //DropDownList                     if (ctrl is DropDownList)                     {                         String str = ctrl.ID.ToString();                         Controls_Prefix = "";                         String[] myarr;                         myarr = str.Split('_');                         Controls_Prefix = myarr[myarr.Length - 1].ToString();

                        if (p.Name.ToLower().ToString() == Controls_Prefix.ToLower().ToString() && ((DropDownList)ctrl).SelectedValue.ToString().Trim().Length > 0)                         {                             p.SetValue(obj, ((DropDownList)ctrl).SelectedValue.ToString());//给对象赋值                             continue;  // ((TextBox)ctrl).Text = p.GetValue(md, null).ToString();                         }

                    }

                    //CheckBoxList                     if (ctrl is CheckBoxList)                     {                         String str = ctrl.ID.ToString();                         Controls_Prefix = "";                         String[] myarr;                         myarr = str.Split('_');                         Controls_Prefix = myarr[myarr.Length - 1].ToString();

                        string checkliststr = "";                         for (int i = 0; i < ((CheckBoxList)ctrl).Items.Count; i++)                         {                             if (((CheckBoxList)ctrl).Items[i].Selected == true)                             {                                 checkliststr = checkliststr + ((CheckBoxList)ctrl).SelectedValue.ToString() + ";";                             }                         }

                        checkliststr = checkliststr.Substring(0, checkliststr.Length - 1);                         if (p.Name.ToLower().ToString() == Controls_Prefix.ToLower().ToString() && checkliststr.ToString().Trim().Length > 0)                         {                             p.SetValue(obj, checkliststr.ToString());//给对象赋值                             continue;  // ((TextBox)ctrl).Text = p.GetValue(md, null).ToString();                         }

                    }                 }

            }             return (T)obj;         }         /*****************************************************************************************************************************          *          * CACHE获取值 开始          *          * ***************************************************************************************************************************/         /// <summary>         /// 通过CACHE来获取页面控件的值         /// </summary>         /// <typeparam name="T">泛型类型参数</typeparam>         /// <param name="controls_content">页面容器参数</param>         /// <returns>返回赋值后的对象</returns>         public T SetFieldinfoValueForObjectByCache<T>(Control controls_content)         {             Type Object_Type = typeof(T);//获取指定名称的类型             object Object_Instance = Activator.CreateInstance(Object_Type, null);//创建指定类型实例             FieldInfo[] fields = Object_Instance.GetType().GetFields();//获取指定对象的所有公共属性             object obj = Activator.CreateInstance(Object_Type, null);             String str = Object_Type.Name.ToString().ToUpper();             Controls_Prefix = "";             String[] myarr;             myarr = str.Split('_');             Controls_Prefix = myarr[myarr.Length - 1].ToString();

            foreach (FieldInfo p in fields)             {                 String CID = "";                 CID = "txt_" + Controls_Prefix.ToString().ToUpper() + "_" + p.Name.ToString().ToUpper();                 CID = CID.ToUpper();                 if (controls_content.FindControl(CID) != null)                 {                     Type type = webCache.GetCacheObjectByCachekey(CID.ToUpper()).GetType();                     if (type.Name.ToString().ToUpper() == "TEXTBOX")                     {

                        if (((TextBox)controls_content.FindControl(CID)).Text.ToString().Trim().Length > 0)                         {                             p.SetValue(obj, ((TextBox)controls_content.FindControl(CID)).Text.ToString());//给对象赋值                             continue;  // ((TextBox)ctrl).Text = p.GetValue(md, null).ToString();                         }

                    }                     //RadioButtonList                     if (type.Name.ToString().ToUpper() == "RADIOBUTTONLIST")                     {

                        if (((RadioButtonList)controls_content.FindControl(CID)).SelectedValue.ToString().Trim().Length > 0)                         {                             p.SetValue(obj, ((RadioButtonList)controls_content.FindControl(CID)).SelectedValue.ToString());//给对象赋值                             continue;  // ((TextBox)ctrl).Text = p.GetValue(md, null).ToString();                         }

                    }                     //DropDownList                     if (type.Name.ToString().ToUpper() == "DROPDOWNLIST")                     {                         if (((DropDownList)controls_content.FindControl(CID)).SelectedValue.ToString().Trim().Length > 0)                         {                             p.SetValue(obj, ((DropDownList)controls_content.FindControl(CID)).SelectedValue.ToString());//给对象赋值                             continue;  // ((TextBox)ctrl).Text = p.GetValue(md, null).ToString();                         }

                    }

                    //CheckBoxList                     if (type.Name.ToString().ToUpper() == "CHECKBOXLIST")                     {                         string checkliststr = "";                         for (int i = 0; i < ((CheckBoxList)controls_content.FindControl(CID)).Items.Count; i++)                         {                             if (((CheckBoxList)controls_content.FindControl(CID)).Items[i].Selected == true)                             {                                 checkliststr = checkliststr + ((CheckBoxList)controls_content.FindControl(CID)).SelectedValue.ToString() + ";";                             }                         }

                        checkliststr = checkliststr.Substring(0, checkliststr.Length - 1);                         if (checkliststr.ToString().Trim().Length > 0)                         {                             p.SetValue(obj, checkliststr.ToString());//给对象赋值                             continue;  // ((TextBox)ctrl).Text = p.GetValue(md, null).ToString();                         }

                    }                 }                 else                 {                     webCache.AddObjectToCache("ERROR", webCache.GetCacheObjectByCachekey("ERROR") + CID.ToUpper() + "值为空;");                 }             }

            return (T)obj;         }         /*****************************************************************************************************************************          *          * CACHE获取值 结束          *          * ***************************************************************************************************************************/         /// <summary>         /// 为页面控件赋值         /// </summary>         /// <typeparam name="T">泛型类名</typeparam>         /// <param name="md">实体对象参数</param>         /// <param name="controls_content">控件容器</param>         public void SetValueForControlsByObject<T>(T md, Control controls_content)         {

            Type type = md.GetType();             object obj = Activator.CreateInstance(type);

            FieldInfo[] props = type.GetFields();             foreach (FieldInfo p in props)             {                 foreach (Control ctrl in controls_content.Controls)                 {                     if (ctrl is TextBox)                     {                         String str = ctrl.ID.ToString();                         Controls_Prefix = "";                         String[] myarr;                         myarr = str.Split('_');                         Controls_Prefix = myarr[myarr.Length - 1].ToString();

                        if (p.Name.ToLower().ToString().ToLower() == Controls_Prefix.ToString().ToLower())                         {                             ((TextBox)ctrl).Text = p.GetValue(md).ToString();                         }                     }                     //RadioButtonList                     if (ctrl is RadioButtonList)                     {                         String str = ctrl.ID.ToString();                         Controls_Prefix = "";                         String[] myarr;                         myarr = str.Split('_');                         Controls_Prefix = myarr[myarr.Length - 1].ToString();

                        if (p.Name.ToLower().ToString().ToLower() == Controls_Prefix.ToString().ToLower())                         {                             for (int i = 0; i < ((RadioButtonList)ctrl).Items.Count; i++)                             {                                 if (((RadioButtonList)ctrl).Items[i].Value.ToString() == p.GetValue(md).ToString())                                 {                                     ((RadioButtonList)ctrl).Items[i].Selected = true;                                 }                             }

                        }                     }

                    if (ctrl is DropDownList)                     {                         String str = ctrl.ID.ToString();                         Controls_Prefix = "";                         String[] myarr;                         myarr = str.Split('_');                         Controls_Prefix = myarr[myarr.Length - 1].ToString();

                        if (p.Name.ToLower().ToString().ToLower() == Controls_Prefix.ToString().ToLower())                         {                             for (int i = 0; i < ((DropDownList)ctrl).Items.Count; i++)                             {                                 if (((DropDownList)ctrl).Items[i].Value.ToString() == p.GetValue(md).ToString())                                 {                                     ((DropDownList)ctrl).Items[i].Selected = true;                                 }                             }

                        }                     }

                    if (ctrl is CheckBoxList)                     {                         String str = ctrl.ID.ToString();                         Controls_Prefix = "";                         String[] myarr;                         myarr = str.Split('_');                         Controls_Prefix = myarr[myarr.Length - 1].ToString();

                        if (p.Name.ToLower().ToString().ToLower() == Controls_Prefix.ToString().ToLower())                         {                             string checkliststr = p.GetValue(md).ToString();                             string[] arrays;                             if (checkliststr.IndexOf(';') > 0)                             {                                 arrays = checkliststr.Split(';');

                                for (int j = 0; j < arrays.Length; j++)                                 {                                     string m = arrays[j].ToString();

                                    for (int i = 0; i < ((CheckBoxList)ctrl).Items.Count; i++)                                     {                                         if (((CheckBoxList)ctrl).Items[i].Value.ToString() == m.ToString())                                         {                                             ((CheckBoxList)ctrl).Items[i].Selected = true;                                         }                                     }                                 }                             }                             else                             {

                                for (int i = 0; i < ((CheckBoxList)ctrl).Items.Count; i++)                                 {                                     if (((CheckBoxList)ctrl).Items[i].Value.ToString() == p.GetValue(md).ToString())                                     {                                         ((CheckBoxList)ctrl).Items[i].Selected = true;                                     }                                 }                             }

                        }                     }                 }

            }         }         public void SetValueForControlsAutoByObject<T>(T md, Control controls_content)         {             Type type = md.GetType();             object obj = Activator.CreateInstance(type);             String str = type.Name.ToString();             Controls_Prefix = "";             String[] myarr;             myarr = str.Split('_');             Controls_Prefix = myarr[myarr.Length - 1].ToString();

            PropertyInfo[] props = type.GetProperties(BindingFlags.Public | BindingFlags.Instance);             foreach (PropertyInfo p in props)             {                 String CID = "TXT_" + p.Name.ToString().ToUpper();

                Type ctrltype;                 if (controls_content.FindControl(CID.ToUpper()) != null)                 {                     ctrltype = controls_content.FindControl(CID.ToUpper()).GetType();                     if (ctrltype.Name.ToString().ToUpper() == "TEXTBOX")                     {                         ((TextBox)controls_content.FindControl(CID.ToUpper())).Text = p.GetValue(md, null).ToString();

                    }                     //RadioButtonList                     if (ctrltype.Name.ToString().ToUpper() == "RADIOBUTTONLIST")                     {

                        if (p.Name.ToLower().ToString().ToLower() == Controls_Prefix.ToString().ToLower())                         {                             for (int i = 0; i < ((RadioButtonList)controls_content.FindControl(CID.ToUpper())).Items.Count; i++)                             {                                 if (((RadioButtonList)controls_content.FindControl(CID.ToUpper())).Items[i].Value.ToString() == p.GetValue(md, null).ToString().ToString())                                 {                                     ((RadioButtonList)controls_content.FindControl(CID.ToUpper())).Items[i].Selected = true;                                 }                             }

                        }                     }

                    if (ctrltype.Name.ToString().ToUpper() == "DROPDOWNLIST")                     {                         for (int i = 0; i < ((DropDownList)controls_content.FindControl(CID.ToUpper())).Items.Count; i++)                         {                             if (((DropDownList)controls_content.FindControl(CID.ToUpper())).Items[i].Value.ToString() == p.GetValue(md, null).ToString())                             {                                 ((DropDownList)controls_content.FindControl(CID.ToUpper())).Items[i].Selected = true;                             }                         }

                    }

                    if (ctrltype.Name.ToString().ToUpper() == "CHECKBOXLIST")                     {

                        string checkliststr = p.GetValue(md, null).ToString();                         string[] arrays;                         if (checkliststr.IndexOf(';') > 0)                         {                             arrays = checkliststr.Split(';');

                            for (int j = 0; j < arrays.Length; j++)                             {                                 string m = arrays[j].ToString();

                                for (int i = 0; i < ((CheckBoxList)controls_content.FindControl(CID.ToUpper())).Items.Count; i++)                                 {                                     if (((CheckBoxList)controls_content.FindControl(CID.ToUpper())).Items[i].Value.ToString() == m.ToString())                                     {                                         ((CheckBoxList)controls_content.FindControl(CID.ToUpper())).Items[i].Selected = true;                                     }                                 }                             }                         }                         else                         {

                            for (int i = 0; i < ((CheckBoxList)controls_content.FindControl(CID.ToUpper())).Items.Count; i++)                             {                                 if (((CheckBoxList)controls_content.FindControl(CID.ToUpper())).Items[i].Value.ToString() == p.GetValue(md, null).ToString())                                 {                                     ((CheckBoxList)controls_content.FindControl(CID.ToUpper())).Items[i].Selected = true;                                 }                             }                         }

                    }

                }             }         }         /// <summary>

        /*******************************************************************************************          *          *          *          * DAL层泛型数据库添加、修改、删除、更新、获取列表等功能函数          *          *          *          *          *          * *****************************************************************************************/

        /// <summary>         /// 通过MODEL对象参数 向数据库中添加一条信息         /// </summary>         /// <param name="MODEL">对象参数</param>         /// <returns>返回整型,成功返回1否则为0</returns>         public int CommonAdd<T>(T MODEL)         {             String SQL_STR = "";

            SQL_STR = SqlInsertBuilder<T>(MODEL);

            return ExecuteNonQuery(SQL_STR);

        }         public int CommonAdd(DataSet Ds)         {             String SQL_STR = "";

            SQL_STR = SqlInsertBuilder(Ds);

            return ExecuteNonQuery(SQL_STR);

        }         public int CommonAdd(DataTable dt)         {             String SQL_STR = "";

            SQL_STR = SqlInsertBuilder(dt);

            return ExecuteNonQuery(SQL_STR);

        }         /// <summary>         ///通过对象参数获取数据库对象         /// </summary>         /// <param name="MODEL">数据对象参数</param>         /// <returns>返回数据对象信息</returns>         public T CommonGetMember<T>(T MODEL)         {

            String SQL_Str = "";             SQL_Str = SqlStrSelectBuilder<T>(MODEL);             DT.Clear();             DT = ExecuteDataTable(SQL_Str);

            return SetFieldinfoValueForObjectByObjectAndDt<T>(DT, MODEL);

        }

        /// <summary>         /// 通过对象参数更新数据库         /// </summary>         /// <param name="MODEL">对象参数</param>         /// <returns>返回整型数据 0:更新失败;根据对象参数可以批量更新,只要是符合条件 </returns>         public int CommonUpdate<T>(T MODEL, String KeyStr)         {             String SQL_STR = "";

            SQL_STR = SqlStrUpdateBuilder<T>(MODEL, KeyStr);

            return ExecuteNonQuery(SQL_STR);

        }         /// <summary>         /// 通过对象参数删除数据信息         /// </summary>         /// <param name="MODEL">对象参数</param>         /// <returns>返回整型值;0删除失败;根据对象参数可以批量删除,只要是符合条件</returns>         public int CommonDelete<T>(T MODEL)         {

            return ExecuteNonQuery(SqlStrDeleteBuilder<T>(MODEL));

        }         /// <summary>         /// 执行SQL语句返回影响行数         /// </summary>         /// <param name="SQL_STR">SQL语句参数</param>         /// <returns>返回影响行数</returns>         public int CommonExecuteSQLReturnInt(String SQL_STR)         {             int flag = 0;             flag = ExecSqlString(SQL_STR);             return flag;

        }         /// <summary>         /// 通过对象参数,获取DATASET数据表         /// </summary>         /// <param name="MODEL">对象参数</param>         /// <returns>返回DATASET类型变量</returns>         public DataSet CommonGetDataSet<T>(T MODEL)         {             String SQL_Str = "";             SQL_Str = SqlStrSelectBuilder<T>(MODEL);             DS.Clear();             DS = ExecuteDataSet(SQL_Str);             return DS;         }

        /// <summary>         /// 通过对象参数,获取DATATABLE数据表         /// </summary>         /// <param name="MODEL">对象参数</param>         /// <returns>返回DATATABLE类型变量</returns>         public DataTable CommonGetDataTable<T>(T MODEL)         {             String SQL_Str = "";             SQL_Str = SqlStrSelectBuilder<T>(MODEL);             DT.Clear();             DT = ExecuteDataTable(SQL_Str);             return DT;         }

        public DataSet CommonGetDataSetByKeywords<T>(string Keywords)         {             String SQL_Str = "";             SQL_Str = SqlSelectStrByKeyBuilder<T>(Keywords);             DS.Clear();             DS = ExecuteDataSet(SQL_Str);             return DS;         }         public DataSet CommonGetDataSet(String Str_SQL)         {             DS.Clear();             DS = ExecuteDataSet(Str_SQL);             return DS;         }

        public DataSet GetDataSetBySqlstr(String Str_SQL)         {             DS.Clear();                        DS = ExecuteDataSet(Str_SQL);             return DS;         }         public DataTable CommonGetDataTableByKeywords<T>(string Keywords)         {             String SQL_Str = "";             SQL_Str = SqlSelectStrByKeyBuilder<T>(Keywords);             DT.Clear();             DT = ExecuteDataTable(SQL_Str);             return DT;         }         public DataTable CommonGetDataTable(String Str_SQL)         {             DT.Clear();                        DT = ExecuteDataTable(Str_SQL);             return DT;         }         public DataTable GetDataTableByExcuteSql(String Str_SQL)         {             DT.Clear();                        DT = ExecuteDataTable(Str_SQL);             return DT;         }

        public DataTable GetLotNoInfoByLotNo(String Lot_No)         {             String Str_SQL = "";             if (Lot_No.ToString().Trim().Length > 0)             {                 Str_SQL = "Select    CO_CODE, WIP_ID, PROD_PN, FLOW_ID, LOT_NO, PRIORITY, CAT_ID, LN_ID, PROD_SN, ROHS, START_DATE, END_DATE, INPUT_QTY,OUTPUT_QTY, WIP_QTY, WIP_SEQ, WIP_PROC_ID, PROC_ID, NEXT_PROC_ID, PACK_READY, SPLIT_SEQ, PACK_QTY, PACK_NG_QTY,PACK_QC_QTY, SHIPMENT_QTY, SUB_CON, SUB_CON_ID, BOM_VER, FLOW_VER, STATUS, UPD_USR, UPD_TIME  from lot_info  where lot_no='" + Lot_No.ToString() + "'  limit 1";             }             else             {                 Str_SQL = "Select     CO_CODE, WIP_ID, PROD_PN, FLOW_ID, LOT_NO, PRIORITY, CAT_ID, LN_ID, PROD_SN, ROHS, START_DATE, END_DATE, INPUT_QTY,OUTPUT_QTY, WIP_QTY, WIP_SEQ, WIP_PROC_ID, PROC_ID, NEXT_PROC_ID, PACK_READY, SPLIT_SEQ, PACK_QTY, PACK_NG_QTY,PACK_QC_QTY, SHIPMENT_QTY, SUB_CON, SUB_CON_ID, BOM_VER, FLOW_VER, STATUS, UPD_USR, UPD_TIME    from lot_info  where lot_no='13548641qwer32tgw1e65t4s3f216er8f1' limit 1 ";             }             DT.Clear();             DT = ExecuteDataTable(Str_SQL);             return DT;         }         /// <summary>         /// 通过SQL语句绑定DROPDOWNLIST,DROPDOWNLIST可以加入提示信息         /// </summary>         /// <param name="Dropl">需要绑定的DROPDOWNLIST名称</param>         /// <param name="StrSQL">SQL语句参数</param>         /// <param name="DataTextField">DROPDOWNLIST显示TEXT参数栏位名</param>         /// <param name="DataValueField">DROPDOWNLIST选中时值栏位名</param>         public static void BindDropDownListWithMessageBySqlString(DropDownList Dropl, string StrSQL, String DataTextField, string DataValueField, string message)         {             Dropl.Items.Clear();             if (message.Length > 0)             {                 Dropl.AppendDataBoundItems = true;                 Dropl.Items.Add("0");                 Dropl.Items[0].Text = message;                 Dropl.Items[0].Value = "-1";                 Dropl.Items[0].Selected = true;             }             Dropl.DataSourceID = null;

            Dropl.DataSource = GetDataSetByExecuteSQL(StrSQL);             Dropl.DataTextField = DataTextField;             Dropl.DataValueField = DataValueField;             Dropl.DataBind();

        }

        /// <summary>         ///通过SQL语句来绑定GRIDVIEW         /// </summary>         /// <param name="dgrd">需要绑定数据的GRIDVIEW名称</param>         /// <param name="StrSQL">传入的SQL语句</param>         public static void BindGridviewBySqlString(GridView dgrd, string StrSQL)         {             dgrd.DataSourceID = null;             dgrd.DataSource = GetDataSetByExecuteSQL(StrSQL);             dgrd.DataBind();

        }

        /// <summary>         ///通过SQL语句来绑定DATALIST         /// </summary>         /// <param name="dgrd">需要绑定数据的DATALIST名称</param>         /// <param name="strSql">传入的SQL语句</param>         public static void BindDataListBySqlString(DataList dtl, string StrSQL)         {             dtl.DataSourceID = null;             dtl.DataSource = GetDataSetByExecuteSQL(StrSQL);             dtl.DataBind();         }         /// <summary>         /// 动态绑定DATATABLE到GRIDVIEW         /// </summary>         /// <param name="dgrd">要绑定的GRIDVIEW名称</param>         /// <param name="datablename">DATABLE名称</param>         /// <param name="strDataKey">GRICVIEW中要取的键值</param>         public static void BindGridViewByDatatable(GridView dgrd, DataTable datablename, string strDataKey)         {             dgrd.Columns.Clear();             dgrd.AutoGenerateColumns = false;             dgrd.DataSource = datablename;             dgrd.DataKeyNames = new string[] { strDataKey };             for (int i = 0; i < datablename.Columns.Count; i++)   //绑定普通数据列             {                 BoundField bfColumn = new BoundField();                 bfColumn.DataField = datablename.Columns[i].ColumnName;                 bfColumn.HeaderText = datablename.Columns[i].Caption;                 dgrd.Columns.Add(bfColumn);             }             if (datablename.Rows.Count == 0)//防止无数据表头不显示             {                 DataRow dr = datablename.NewRow();                 datablename.Rows.Add(dr);                 dgrd.DataSource = datablename;             }

            dgrd.DataBind();

        }         /// <summary>         /// 通过SQL语句绑定DROPDOWNLIST         /// </summary>         /// <param name="Dropl">需要绑定的DROPDOWNLIST名称</param>         /// <param name="StrSQL">SQL语句参数</param>         /// <param name="DataTextField">DROPDOWNLIST显示TEXT参数栏位名</param>         /// <param name="DataValueField">DROPDOWNLIST选中时值栏位名</param>         public static void BindDropDownListBySqlString(System.Web.UI.WebControls.DropDownList Dropl, string StrSQL, String DataTextField, string DataValueField)         {             Dropl.Items.Clear();             Dropl.DataSourceID = null;             Dropl.DataSource = GetDataSetByExecuteSQL(StrSQL);             Dropl.DataTextField = DataTextField;             Dropl.DataValueField = DataValueField;             Dropl.DataBind();         }         /// <summary>         /// 通过SQL语句绑定REDIOBUTTONLIST         /// </summary>         /// <param name="Dropl">需要绑定的REDIOBUTTONLIST名称</param>         /// <param name="StrSQL">SQL语句参数</param>         /// <param name="DataTextField">REDIOBUTTONLIST显示TEXT参数栏位名</param>         /// <param name="DataValueField">REDIOBUTTONLIST选中时值栏位名</param>         public static void BindRadioButtonListBySqlString(System.Web.UI.WebControls.RadioButtonList Dropl, string StrSQL, String DataTextField, String DataValueField)         {             Dropl.Items.Clear();             Dropl.DataSourceID = null;             Dropl.DataSource = GetDataSetByExecuteSQL(StrSQL);             Dropl.DataTextField = DataTextField;             Dropl.DataValueField = DataValueField;             Dropl.DataBind();         }         public static void BindRadioButtonListByDs(System.Web.UI.WebControls.RadioButtonList Dropl, DataSet Ds, String DataTextField, String DataValueField)         {             Dropl.Items.Clear();             Dropl.DataSourceID = null;             Dropl.DataSource = Ds;             Dropl.DataTextField = DataTextField;             Dropl.DataValueField = DataValueField;             Dropl.DataBind();         }         /// <summary>         /// 通过SQL语句绑定CheckBoxList         /// </summary>         /// <param name="Dropl">需要绑定的CheckBoxList名称</param>         /// <param name="StrSQL">SQL语句参数</param>         /// <param name="DataTextField">CheckBoxList显示TEXT参数栏位名</param>         /// <param name="DataValueField">CheckBoxList选中时值栏位名</param>         public static void BindCheckBoxListBySqlString(System.Web.UI.WebControls.CheckBoxList Dropl, string StrSQL, String DataTextField, String DataValueField)         {             Dropl.Items.Clear();             Dropl.DataSourceID = null;             Dropl.DataSource = GetDataSetByExecuteSQL(StrSQL);             Dropl.DataTextField = DataTextField;             Dropl.DataValueField = DataValueField;             Dropl.DataBind();         }         public static void BindCheckBoxListByDs(System.Web.UI.WebControls.CheckBoxList Dropl, DataSet Ds, String DataTextField, String DataValueField)         {             Dropl.Items.Clear();             Dropl.DataSourceID = null;             Dropl.DataSource = Ds;             Dropl.DataTextField = DataTextField;             Dropl.DataValueField = DataValueField;             Dropl.DataBind();         }         /// <summary>         /// 通过数据库表名称判断用户输入数据是否合法         /// </summary>         /// <param name="controls_content">控件集合参数</param>         /// <param name="tablename">数据库表名称</param>         /// <returns>返回字符串(哪些输入非法数据)</returns>         public String CheckInputValidate(Control controls_content, string tablename)         {             String Error = "你所输入信息有如下错误:";             Int32 ErrorNo = 0;

            DataTable dt1 = new DataTable();             DataTable dt = new DataTable();             dt1 = MTS2.DBUtility.MySqlServerHelper.ExecuteDataTable("desc " + tablename);             dt = dt1;

            foreach (Control ctrl in controls_content.Controls)             {                 if (ctrl is TextBox)                 {                     String str = ctrl.ID.ToString();                     String Controls_Prefix = "";                     String[] myarr;                     String Keywords = "";                     myarr = str.Split('_');                     Controls_Prefix = myarr[myarr.Length - 1].ToString();                     string Str = "";                     if (dt1.Select("field='" + Controls_Prefix + "'").Length > 0)                     {                         Str = dt1.Select("field='" + Controls_Prefix + "'")[0]["type"].ToString();                         Keywords = dt.Select("field='" + Controls_Prefix + "'")[0]["Key"].ToString();                     }                     if (((TextBox)ctrl).Text.ToString().Trim().Length == 0 && Keywords.ToString().Trim() == "PRI")                     {                         string MyTEXT = "";                         string lblID = "";                         lblID = ctrl.ID.ToString().Replace("txt", "lbl");                         if (controls_content.FindControl(lblID) != null)                         {                             MyTEXT = ((Label)(controls_content.FindControl(lblID))).Text.ToString();                         }                         ErrorNo = ErrorNo + 1;                         Error = Error + "【" + ErrorNo.ToString() + "】" + "KEY字段" + MyTEXT + "的值不能为空!;";

                    }                     if (Str.IndexOf('(') > 0)                     {                         Str = Str.Substring(Str.IndexOf('(') + 1, Str.IndexOf(')') - Str.IndexOf('(') - 1);                         Int64 MYFLAG = 1;                         String[] myarrs;                         myarrs = Str.Split(',');                         if (myarrs.Length > 1)                         {                             Int64 p = 0;                             p = Convert.ToInt32(myarrs[0]) - Convert.ToInt32(myarrs[1]);                             for (int i = 0; i < p; i++)                             {                                 MYFLAG = MYFLAG * 10;                             }                             if (((TextBox)ctrl).Text.ToString().Trim().Length == 0 || ((TextBox)ctrl).Text.ToString().Trim().Length > 16)                             {                                 p = 0;                             }                             else                             {                                 Double DB = 0;                                 DB = Convert.ToDouble(((TextBox)ctrl).Text.ToString());

                                if (DB > MYFLAG)                                 {                                     string MyTEXT = "";                                     string lblID = "";                                     lblID = ctrl.ID.ToString().Replace("txt", "lbl");                                     if (controls_content.FindControl(lblID) != null)                                     {                                         MyTEXT = ((Label)(controls_content.FindControl(lblID))).Text.ToString();                                     }                                     ErrorNo = ErrorNo + 1;                                     Error = Error + "【" + ErrorNo.ToString() + "】输入值:" + ((TextBox)ctrl).Text.ToString() + "超出最大值" + MYFLAG.ToString() + "!;";                                 }                             }                         }                         else                         {                             MYFLAG = Convert.ToInt32(myarrs[0]);                             string MyTEXT = "";                             string lblID = "";                             lblID = ctrl.ID.ToString().Replace("txt", "lbl");                             if (controls_content.FindControl(lblID) != null)                             {                                 MyTEXT = ((Label)(controls_content.FindControl(lblID))).Text.ToString();                             }                             if (((TextBox)ctrl).Text.ToString().Length > MYFLAG)                             {                                 ErrorNo = ErrorNo + 1;                                 Error = Error + "【" + ErrorNo.ToString() + "】输入信息:" + ((TextBox)ctrl).Text.ToString() + "超过" + MYFLAG.ToString() + "个字符的存储长度!;";                             }

                        }                     }

 

                }             }             return Error;         }         /*************************************************************************************************************          *          * 检查输入信息是否合法开始          *          * ************************************************************************************************************/         public String CheckInputValidate<T>(Control controls_content)         {             String Error = "你所输入信息有如下错误:";             Int32 ErrorNo = 0;             String tablename = "";

            Type Object_Type = typeof(T);//获取指定名称的类型             object Object_Instance = Activator.CreateInstance(Object_Type, null);//创建指定类型实例             FieldInfo[] fields = Object_Instance.GetType().GetFields();//获取指定对象的所有公共属性             object obj = Activator.CreateInstance(Object_Type, null);             String str = Object_Type.Name.ToString().ToUpper();             String Controls_Prefix = "";             String[] myarr;             myarr = str.Split('_');             tablename = myarr[myarr.Length - 1].ToString();             DataTable dt1 = new DataTable();             DataTable dt = new DataTable();             dt1 = MTS2.DBUtility.MySqlServerHelper.ExecuteDataTable("desc " + tablename);             dt = dt1;

            foreach (FieldInfo ps in fields)             {                 Controls_Prefix = ps.Name.ToString().ToUpper();

                String CID = "";                 CID = "TXT_" + tablename.ToString().ToUpper() + "_" + ps.Name.ToString().ToUpper();                 CID = CID.ToUpper();                 if (controls_content.FindControl(CID) != null)                 {

                    if (controls_content.FindControl(CID) is TextBox)                     {                         String Keywords = "";                         //myarr = str.Split('_');                         //Controls_Prefix = myarr[myarr.Length - 1].ToString();                         string Str = "";                         if (dt1.Select("field='" + Controls_Prefix + "'").Length > 0)                         {                             Str = dt1.Select("field='" + Controls_Prefix + "'")[0]["type"].ToString();                             Keywords = dt.Select("field='" + Controls_Prefix + "'")[0]["Key"].ToString();                         }                         if (((TextBox)controls_content.FindControl(CID)).Text.ToString().Trim().Length == 0 && Keywords.ToString().Trim() == "PRI")                         {                             string MyTEXT = "";                             string lblID = "";                             lblID = controls_content.FindControl(CID).ID.ToString().Replace("txt", "LBL");                             if (controls_content.FindControl(lblID) != null)                             {                                 MyTEXT = ((Label)(controls_content.FindControl(lblID))).Text.ToString();                             }                             ErrorNo = ErrorNo + 1;                             Error = Error + "【" + ErrorNo.ToString() + "】" + "KEY字段" + MyTEXT + "的值不能为空!;";

                        }                         if (Str.IndexOf('(') > 0)                         {                             Str = Str.Substring(Str.IndexOf('(') + 1, Str.IndexOf(')') - Str.IndexOf('(') - 1);                             Int64 MYFLAG = 1;                             String[] myarrs;                             myarrs = Str.Split(',');                             if (myarrs.Length > 1)                             {                                 Int64 p = 0;                                 p = Convert.ToInt32(myarrs[0]) - Convert.ToInt32(myarrs[1]);                                 for (int i = 0; i < p; i++)                                 {                                     MYFLAG = MYFLAG * 10;                                 }                                 if (((TextBox)controls_content.FindControl(CID)).Text.ToString().Trim().Length == 0 || ((TextBox)controls_content.FindControl(CID)).Text.ToString().Trim().Length > 16)                                 {                                     p = 0;                                 }                                 else                                 {                                     Double DB = 0;                                     try                                     {                                         DB = Convert.ToDouble(((TextBox)controls_content.FindControl(CID)).Text.ToString());                                     }                                     catch                                     {                                         DB = -1;                                     }

                                    if (DB > MYFLAG)                                     {                                         string MyTEXT = "";                                         string lblID = "";                                         lblID = controls_content.FindControl(CID).ID.ToString().Replace("txt", "LBL");                                         if (controls_content.FindControl(lblID) != null)                                         {                                             MyTEXT = ((Label)(controls_content.FindControl(lblID))).Text.ToString();                                         }                                         ErrorNo = ErrorNo + 1;                                         Error = Error + "【" + ErrorNo.ToString() + "】输入值:" + ((TextBox)controls_content.FindControl(CID)).Text.ToString() + "超出最大值" + MYFLAG.ToString() + "!;";                                     }                                     if (DB < 0)                                     {                                         string MyTEXT = "";                                         string lblID = "";                                         lblID = controls_content.FindControl(CID).ID.ToString().Replace("txt", "LBL");                                         if (controls_content.FindControl(lblID) != null)                                         {                                             MyTEXT = ((Label)(controls_content.FindControl(lblID))).Text.ToString();                                         }                                         ErrorNo = ErrorNo + 1;                                         Error = Error + "【" + ErrorNo.ToString() + "】输入值:" + ((TextBox)controls_content.FindControl(CID)).Text.ToString() + "非法,不为数值型!;";

                                    }                                 }                             }                             else                             {                                 MYFLAG = Convert.ToInt32(myarrs[0]);                                 string MyTEXT = "";                                 string lblID = "";                                 lblID = controls_content.FindControl(CID).ID.ToString().Replace("txt", "LBL");                                 if (controls_content.FindControl(lblID) != null)                                 {                                     MyTEXT = ((Label)(controls_content.FindControl(lblID))).Text.ToString();                                 }                                 if (((TextBox)controls_content.FindControl(CID)).Text.ToString().Length > MYFLAG)                                 {                                     ErrorNo = ErrorNo + 1;                                     Error = Error + "【" + ErrorNo.ToString() + "】输入信息:" + ((TextBox)controls_content.FindControl(CID)).Text.ToString() + "超过" + MYFLAG.ToString() + "个字符的存储长度!;";                                 }

                            }                         }

                        if (Str.ToLower().IndexOf("nt") > 0)                         {                             Int64 MYFLAG = 0;                             try                             {                                 MYFLAG = Convert.ToInt64(((TextBox)controls_content.FindControl(CID)).Text.ToString());                             }                             catch                             {                                 MYFLAG = -1;                             }                             string MyTEXT = "";                             string lblID = "";                             lblID = controls_content.FindControl(CID).ID.ToString().Replace("txt", "LBL");                             if (controls_content.FindControl(lblID) != null)                             {                                 MyTEXT = ((Label)(controls_content.FindControl(lblID))).Text.ToString();                             }                             if (MYFLAG < 0)                             {                                 ErrorNo = ErrorNo + 1;                                 Error = Error + "【" + ErrorNo.ToString() + "】输入信息:" + ((TextBox)controls_content.FindControl(CID)).Text.ToString() + "非法!;";                             }                             else if (MYFLAG > 1000000000000)                             {                                 ErrorNo = ErrorNo + 1;                                 Error = Error + "【" + ErrorNo.ToString() + "】输入信息:" + ((TextBox)controls_content.FindControl(CID)).Text.ToString() + "超过存储长度!;";

                            }

                        }

                    }                 }             }             return Error;         }         /**************************************************************************************************************          *          * 检查输入是否合法结束          *          * ************************************************************************************************************/         /// <summary>         /// 获得当前页面的名称         /// </summary>         /// <returns>当前页面的名称</returns>         public string GetPageName()         {             string[] urlArr = HttpContext.Current.Request.Url.AbsolutePath.Split('/');             return urlArr[urlArr.Length - 1].ToLower();         }         /// <summary>         /// 根据文件名称获取表名称;文件名称以_分开各部分,其中倒数第二个是相关表名         /// </summary>         /// <returns>返回表名称</returns>         public string GetTableName()         {             string PATH_INFO = HttpContext.Current.Request.ServerVariables["PATH_INFO"].ToString();             string[] myarr;             string webpagestr = "";             myarr = PATH_INFO.Split('/');             if (myarr.Length > 1)             {                 webpagestr = myarr[myarr.Length - 1].ToString();

                string[] patharr = webpagestr.Split('_');

                if (patharr.Length > 2)                 {                     webpagestr = patharr[patharr.Length - 2].ToString();                 }

            }             else             {                 webpagestr = PATH_INFO;             }             return webpagestr.ToUpper().ToString().Trim();         }         /// <summary>         /// 向WEB页面中添加隐藏信息         /// </summary>         /// <param name="ctrl_content">容器参数</param>         /// <param name="ctrlid">添加控件ID</param>         public void AddControl2Content(Control ctrl_content, string ctrlid)         {             HiddenField hfctrl = new HiddenField();             hfctrl.ID = ctrlid;             hfctrl.Value = GetTableName();             ctrl_content.Controls.Add(hfctrl);         }         /// <summary>         /// 向WEB页面中添加隐藏信息         /// </summary>         /// <param name="ctrl_content">容器参数</param>         /// <param name="ctrlid">添加控件ID</param>         /// <param name="ctrlvalue">添加控件的值</param>         public void AddControl2Content(Control ctrl_content, string ctrlid, string ctrlvalue)         {             HiddenField hfctrl = new HiddenField();             hfctrl.ID = ctrlid;             hfctrl.Value = ctrlvalue;             ctrl_content.Controls.Add(hfctrl);         }         /***********************************************************************************************************************************          *          *          * WEB页面控件创建开始          *          *          * ********************************************************************************************************************************/         /// <summary>         ///根据配置文件向容器控件中添加控件         /// </summary>         /// <param name="panelself">容器控件参数</param>         /// <param name="xmlpath">配置文件路径</param>         public void CreateControl(Control panelself, string xmlpath)         {

            System.Web.UI.HtmlControls.HtmlContainerControl div1 = new HtmlGenericControl();             div1.ID = "divAutoList";             panelself.Controls.Add(div1);             DataSet ds = new DataSet();             ds.ReadXml(xmlpath);             HtmlGenericControl MYUL = new HtmlGenericControl("UL");//             MYUL.ID = panelself.ID.ToString() + "_UL";

            if (ds.Tables != null)             {                 if (ds.Tables[0].Rows.Count > 0)                 {                     //添加控件开始

                    for (int i = 0; i < ds.Tables[0].Rows.Count; i++)                     {

                        ///文本框添加                         if (ds.Tables[0].Rows[i]["CTRLTYPE"].ToString().ToUpper() == "TEXTBOX")                         {                             HtmlGenericControl li = new HtmlGenericControl("li");//                             li.ID = "LI_" + ds.Tables[0].Rows[i]["PageName"].ToString().ToUpper() + "_" + ds.Tables[0].Rows[i]["CtrlID"].ToString().ToUpper();                             li.Attributes.Add("class", "lblcs");

                            Label txtbl = new Label();                             txtbl.ID = "LBL_" + ds.Tables[0].Rows[i]["PageName"].ToString().ToUpper() + "_" + ds.Tables[0].Rows[i]["CtrlID"].ToString().ToUpper();                             txtbl.Text = ds.Tables[0].Rows[i]["CtrlID"].ToString();                             //txtbl.Lang = Lblprefix + ds.Tables[0].Rows[i]["CtrlID"].ToString();                             li.Controls.Add(txtbl);                             MYUL.Controls.Add(li);

                            //添加文本                             HtmlGenericControl txtli = new HtmlGenericControl("li");//                             txtli.ID = "TXTLI_" + ds.Tables[0].Rows[i]["PageName"].ToString().ToUpper() + "_" + ds.Tables[0].Rows[i]["CtrlID"].ToString().ToUpper();                             txtli.Attributes.Add("class", "txtcs");

                            TextBox txtb = new TextBox();                             // txtb.Text = ds.Tables[0].Rows[i]["ctrlvalue"].ToString();                             if (ds.Tables[0].Rows[i]["CtrlValue"].ToString().ToUpper().Length > 6)                             {                                 txtb.ID = ds.Tables[0].Rows[i]["CtrlValue"].ToString().ToUpper().Replace("$AUTO$", "");                             }                             else                             {                                 txtb.ID = "txt_" + ds.Tables[0].Rows[i]["PageName"].ToString().ToUpper() + "_" + ds.Tables[0].Rows[i]["CtrlID"].ToString().ToUpper();                             }                             txtb.Text = "";

                            try                             {                                 txtb.MaxLength = Convert.ToInt32(ds.Tables[0].Rows[i]["ctrlLength"]);                             }                             catch                             {                                 txtb.MaxLength = 30;

                            }                             String FieldsType = "";                             FieldsType = "SAE" + ds.Tables[0].Rows[i]["fieldtype"].ToString().ToLower();                             CompareValidator compvr = new CompareValidator();                             if (FieldsType.ToString().ToLower().IndexOf("varchar") > 0 || FieldsType.ToString().ToLower().IndexOf("text") > 0)                             {                                 compvr.ID = "COMPVR_" + txtb.ID.ToString().ToUpper();                                 compvr.ControlToValidate = txtb.ID.ToString();                                 compvr.Display = ValidatorDisplay.Dynamic;                                 compvr.ErrorMessage = "请输入字符";                                 compvr.Operator = ValidationCompareOperator.DataTypeCheck;                                 compvr.Type = ValidationDataType.String;                             }                             else                             {                                 if (FieldsType.ToString().ToLower().IndexOf("oub") > 0 || FieldsType.ToString().ToLower().IndexOf("oat") > 0 || FieldsType.ToString().ToLower().IndexOf("dec") > 0)                                 {                                     compvr.ID = "COMPVR_" + txtb.ID.ToString().ToUpper();                                     compvr.ControlToValidate = txtb.ID.ToString();                                     compvr.Display = ValidatorDisplay.Dynamic;                                     compvr.ErrorMessage = "请输入数字";                                     compvr.Operator = ValidationCompareOperator.DataTypeCheck;                                     compvr.Type = ValidationDataType.Double;                                 }                                 else                                 {                                     if (FieldsType.ToString().ToLower().IndexOf("int") > 0 || FieldsType.ToString().ToLower().IndexOf("long") > 0)                                     {                                         compvr.ID = "COMPVR_" + txtb.ID.ToString().ToUpper();                                         compvr.ControlToValidate = txtb.ID.ToString();                                         compvr.Display = ValidatorDisplay.Dynamic;                                         compvr.ErrorMessage = "请输入数字";                                         compvr.Operator = ValidationCompareOperator.DataTypeCheck;                                         compvr.Type = ValidationDataType.Integer;                                     }                                     else                                     {

 

                                        if (FieldsType.ToString().ToLower().IndexOf("date") > 0 || FieldsType.ToString().ToLower().IndexOf("time") > 0 || FieldsType.ToString().ToLower().IndexOf("dec") > 0)                                         {                                             compvr.ID = "COMPVR_" + txtb.ID.ToString().ToUpper();                                             compvr.ControlToValidate = txtb.ID.ToString();                                             compvr.Display = ValidatorDisplay.Dynamic;                                             compvr.ErrorMessage = "请输入日期";                                             compvr.Operator = ValidationCompareOperator.DataTypeCheck;                                             compvr.Type = ValidationDataType.Date;                                         }                                         else                                         {                                             compvr.ID = "COMPVR_" + txtb.ID.ToString().ToUpper();                                             compvr.ControlToValidate = txtb.ID.ToString();                                             compvr.Display = ValidatorDisplay.Dynamic;                                             compvr.ErrorMessage = "请输入字符";                                             compvr.Operator = ValidationCompareOperator.DataTypeCheck;                                             compvr.Type = ValidationDataType.String;                                         }                                     }                                 }                             }                             txtli.Controls.Add(txtb);                             txtli.Controls.Add(compvr);                             MYUL.Controls.Add(txtli);

                        }                         ///CHECKBOXLIST                         if (ds.Tables[0].Rows[i]["CTRLTYPE"].ToString().ToUpper() == "CHECKBOXLIST")                         {                             HtmlGenericControl li = new HtmlGenericControl("li");//                             li.ID = "LI_" + ds.Tables[0].Rows[i]["PageName"].ToString().ToUpper() + "_" + ds.Tables[0].Rows[i]["CtrlID"].ToString().ToUpper();                             li.Attributes.Add("class", "lblcs");

                            Label txtbl = new Label();                             txtbl.ID = "LBL_" + ds.Tables[0].Rows[i]["PageName"].ToString().ToUpper() + "_" + ds.Tables[0].Rows[i]["CtrlID"].ToString().ToUpper();                             txtbl.Text = ds.Tables[0].Rows[i]["CtrlID"].ToString();                             // txtbl.Lang = Lblprefix + ds.Tables[0].Rows[i]["CtrlID"].ToString();

                            li.Controls.Add(txtbl);                             MYUL.Controls.Add(li);                             //添加文本                             HtmlGenericControl CBli = new HtmlGenericControl("li");//                             CBli.ID = "CBLI_" + ds.Tables[0].Rows[i]["PageName"].ToString().ToUpper() + "_" + ds.Tables[0].Rows[i]["CtrlID"].ToString().ToUpper();                             CBli.Attributes.Add("class", "txtcs");

                            CheckBoxList txtb = new CheckBoxList();                             txtb.ID = "txt_" + ds.Tables[0].Rows[i]["PageName"].ToString().ToUpper() + "_" + ds.Tables[0].Rows[i]["CtrlID"].ToString().ToUpper();                             if (ds.Tables[0].Rows[i]["ctrlvalue"].ToString().ToUpper() == "NULL" || ds.Tables[0].Rows[i]["ctrlvalue"] == null)                             {

                            }                             else                             {                                 string[] myarr = ds.Tables[0].Rows[i]["ctrlvalue"].ToString().Split(',');                                 if (myarr.Length > 0)                                 {                                     Int32 k = 0;                                     for (k = 0; k < myarr.Length; k++)                                     {                                         ListItem itm = new ListItem();

                                        itm.Text = myarr[k].ToString();                                         itm.Value = myarr[k].ToString();

                                        txtb.Items.Add(itm);                                     }                                 }                             }                             txtb.RepeatColumns = 2;                             txtb.Visible = true;                             CBli.Controls.Add(txtb);                             webCache.AddObjectToCache(txtb.ID.ToString().ToUpper(), txtbl);                             MYUL.Controls.Add(CBli);                         }                         ///DROPDOWNLIST                         if (ds.Tables[0].Rows[i]["CTRLTYPE"].ToString().ToUpper() == "DROPDOWNLIST")                         {

                            HtmlGenericControl li = new HtmlGenericControl("li");//                             li.ID = "LI_" + ds.Tables[0].Rows[i]["PageName"].ToString().ToUpper() + "_" + ds.Tables[0].Rows[i]["CtrlID"].ToString().ToUpper();                             li.Attributes.Add("class", "lblcs");

                            Label txtbl = new Label();                             // txtbl.Lang = Lblprefix + ds.Tables[0].Rows[i]["CtrlID"].ToString();                             txtbl.ID = "LBL_" + ds.Tables[0].Rows[i]["PageName"].ToString().ToUpper() + "_" + ds.Tables[0].Rows[i]["CtrlID"].ToString().ToUpper();                             txtbl.Text = ds.Tables[0].Rows[i]["CtrlID"].ToString();

                            li.Controls.Add(txtbl);                             MYUL.Controls.Add(li);                             //添加文本

                            HtmlGenericControl DRli = new HtmlGenericControl("li");//                             DRli.ID = "DRLI_" + ds.Tables[0].Rows[i]["PageName"].ToString().ToUpper() + "_" + ds.Tables[0].Rows[i]["CtrlID"].ToString().ToUpper();                             DRli.Attributes.Add("class", "txtcs");

                            DropDownList txtb = new DropDownList();                             txtb.ID = "txt_" + ds.Tables[0].Rows[i]["PageName"].ToString().ToUpper() + "_" + ds.Tables[0].Rows[i]["CtrlID"].ToString().ToUpper();                             if (ds.Tables[0].Rows[i]["ctrlvalue"].ToString().ToUpper() == "NULL" || ds.Tables[0].Rows[i]["ctrlvalue"] == null)                             {

                            }                             else                             {                                 string[] myarr = ds.Tables[0].Rows[i]["ctrlvalue"].ToString().Split(',');                                 if (myarr.Length > 0)                                 {                                     Int32 k = 0;                                     for (k = 0; k < myarr.Length; k++)                                     {                                         ListItem itm = new ListItem();

                                        itm.Text = myarr[k].ToString();                                         itm.Value = myarr[k].ToString();

                                        txtb.Items.Add(itm);                                     }                                 }                             }

                            DRli.Controls.Add(txtb);

                            MYUL.Controls.Add(DRli);                         }                         ///REDIOBUTTONLIST                         if (ds.Tables[0].Rows[i]["CTRLTYPE"].ToString().ToUpper() == "RADIOBUTTONLIST")                         {

                            HtmlGenericControl li = new HtmlGenericControl("li");//                             li.ID = "LI_" + ds.Tables[0].Rows[i]["PageName"].ToString().ToUpper() + "_" + ds.Tables[0].Rows[i]["CtrlID"].ToString().ToUpper();                             li.Attributes.Add("class", "lblcs");

                            Label txtbl = new Label();                             txtbl.ID = "LBL_" + ds.Tables[0].Rows[i]["PageName"].ToString().ToUpper() + "_" + ds.Tables[0].Rows[i]["CtrlID"].ToString().ToUpper();                             txtbl.Text = ds.Tables[0].Rows[i]["CtrlID"].ToString();                             // txtbl.Lang = Lblprefix + ds.Tables[0].Rows[i]["CtrlID"].ToString();                             txtbl.Visible = true;

                            li.Controls.Add(txtbl);                             MYUL.Controls.Add(li);                             //添加文本

                            HtmlGenericControl RDli = new HtmlGenericControl("li");//                             RDli.ID = "RDLI_" + ds.Tables[0].Rows[i]["PageName"].ToString().ToUpper() + "_" + ds.Tables[0].Rows[i]["CtrlID"].ToString().ToUpper();                             RDli.Attributes.Add("class", "txtcs");

                            RadioButtonList txtb = new RadioButtonList();                             txtb.ID = "txt_" + ds.Tables[0].Rows[i]["PageName"].ToString().ToUpper() + "_" + ds.Tables[0].Rows[i]["CtrlID"].ToString().ToUpper();                             if (ds.Tables[0].Rows[i]["ctrlvalue"].ToString().ToUpper() == "NULL" || ds.Tables[0].Rows[i]["ctrlvalue"] == null)                             {

                            }                             else                             {                                 string[] myarr = ds.Tables[0].Rows[i]["ctrlvalue"].ToString().Split(',');                                 if (myarr.Length > 0)                                 {                                     Int32 k = 0;                                     for (k = 0; k < myarr.Length; k++)                                     {                                         ListItem itm = new ListItem();

                                        itm.Text = myarr[k].ToString();                                         itm.Value = myarr[k].ToString();

                                        txtb.Items.Add(itm);                                     }                                 }                             }                             txtb.RepeatColumns = 2;

                            txtb.Visible = true;                             RDli.Controls.Add(txtb);                             MYUL.Controls.Add(RDli);                         }                     }

                }             }

            webCache.AddObjectToCache(panelself.ID.ToString(), MYUL);             panelself.Controls.Add(MYUL);

 

        }

        /// <summary>         /// 页面刷新时,保存控件信息         /// </summary>         /// <param name="panelself">生成控件所在容器参数</param>         /// <param name="xmlpath">页面配置文件路径参数</param>         public void LoadControl(Control panelself, string xmlpath)         {

            if (webCache.GetCacheObjectByCachekey(panelself.ID.ToString()) != null)             {                 Control ctrl = (Control)(webCache.GetCacheObjectByCachekey(panelself.ID.ToString()));                 panelself.Controls.Add(ctrl);

            }             else             {                 CreateControl(panelself, xmlpath);             }         }         public void LoadControl(Control panelself)         {             System.Web.UI.HtmlControls.HtmlContainerControl div1 = new HtmlGenericControl();             div1.ID = "divAutoList";             panelself.Controls.Add(div1);

            if (webCache.GetCacheObjectByCachekey(panelself.ID.ToString()) != null)             {                 Control ctrl = (Control)(webCache.GetCacheObjectByCachekey(panelself.ID.ToString()));                 panelself.Controls.Add(ctrl);

            }

        }

        /***********************************************************************************************************************************          *          *          * WEB页面控件创建结束          *          *          * ********************************************************************************************************************************/     } }

posted @ 2013-01-24 14:15  greefsong  阅读(372)  评论(0编辑  收藏  举报