using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Reflection;
using System.Text;
using Microsoft.CSharp;
using System.CodeDom.Compiler;
using WebApplication1;
/// <summary>
/// Summary description for Public_Interface_Function
/// </summary>
public class Public_Interface_Function
{
public MYSQL_SQLDB Mysql_DB = new MYSQL_SQLDB();
/// <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>
/// 用户岗位编号
/// </summary>
public String User_GroupID = "";
public Public_Interface_Function()
{
//
// TODO: Add constructor logic here
//
}
/// <summary>
/// 泛型获取SQL INSERT字符串
/// </summary>
/// <typeparam name="T">对象类型</typeparam>
/// <param name="md">对象类型参数</param>
/// <returns>返回SQL INSERT语句;调用方法: </returns>
public String SQLSTR_INSERT_Builder<T>(T md)
{
String SQL_STR_INSERT_HEADER = "insert into mytablename(";
string SQL_STR_INSERT_FIELDS = "";
string SQL_STR_INSERT_VALUES = "";
string SQL_STR = "NULL";
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.ToString().Replace(Common_Prefix.ToString(),"") + ",";
SQL_STR_INSERT_VALUES = SQL_STR_INSERT_VALUES + "', '" + p.GetValue(md, null).ToString();
}
}
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;
}
/// <summary>
/// 通过泛型动态获取SQL SELECT字符串
/// </summary>
/// <typeparam name="T">对象类型</typeparam>
/// <param name="md">对象类型实例</param>
/// <returns>返回SQL SELECT语句;调用方法: </returns>
public String SQLSTR_SELECT_Builder<T>(T md)
{
String SQL_STR_INSERT_HEADER = "select ";
string SQL_STR_INSERT_FIELDS = "";
string SQL_STR_INSERT_VALUES = "";
string SQL_STR = "NULL";
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();
}
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);
Common_Prefix = Table_Name + "_";
foreach (PropertyInfo p in props)
{
if (p.GetValue(md, null).ToString().Trim().Length > 0)
{
SQL_STR_INSERT_FIELDS = SQL_STR_INSERT_FIELDS + p.Name.ToString().Replace(Common_Prefix.ToString(),"") + " ,";
SQL_STR_INSERT_VALUES = SQL_STR_INSERT_VALUES + p.Name.ToString().Replace(Common_Prefix.ToString(), "") + "='" + p.GetValue(md, null).ToString() + "',";
}
}
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) + " from tablename where " + SQL_STR_INSERT_VALUES.Substring(0, SQL_STR_INSERT_VALUES.Length - 1);
}
return SQL_STR;
}
/// <summary>
/// 通过泛型动态获取SQL UPDATE字符串
/// </summary>
/// <typeparam name="T">对象类型</typeparam>
/// <param name="md">对象类型实例</param>
/// <param name="SQL_CASE">SQL更新条件</param>
/// <returns>返回SQL UPDATE语句;调用方法: </returns>
public String SQLSTR_UPDATE_Builder<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 = "NULL";
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.ToString().Replace(Common_Prefix.ToString(), "") + "='" + p.GetValue(md, null).ToString() + "',";
}
}
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;
}
/// <summary>
/// 通过DATATABLE参数为指定类型对象赋值(为指定类型对象属性赋值)
/// </summary>
/// <typeparam name="T">指定类型</typeparam>
/// <param name="dt">DATATABLE参数</param>
/// <returns>返回已经赋值的指定对象实例;调用方法: </returns>
public T SET_Property_Value_FOR_OBJECT_BY_DT<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.ToString().Replace(Common_Prefix.ToString(), ""))
{
t.SetValue(obj, dr[dc.ColumnName], 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 SET_Property_Value_FOR_OBJECT_BY_ClassName_And_Dt<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.ToString().Replace(Common_Prefix.ToString(), ""))
{
t.SetValue(obj, dr[dc.ColumnName], 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 SET_Property_Value_FOR_OBJECT_BY_Object_And_Dt<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 == t.Name.ToString().Replace(Common_Prefix.ToString(), ""))
{
t.SetValue(obj, dr[dc.ColumnName], null);//给对象赋值
continue;
}
}
}
}
}
return (T)obj;
}
/// <summary>
/// 通过DATATABLE类型参数为指定类型对象字段赋值
/// </summary>
/// <typeparam name="T">指定类型</typeparam>
/// <param name="dt">DATDTABLE参数</param>
/// <returns>返回指定类型对象;调用方法: </returns>
public T SET_Fieldinfo_Value_FOR_OBJECT_BY_Dt<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 == f.Name)
{
f.SetValue(obj, dr[dc.ColumnName.ToString()].ToString());//给对象赋值
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 SET_Fieldinfo_Value_FOR_OBJECT_BY_Object_AND_Dt<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 == f.Name)
{
f.SetValue(obj, dr[dc.ColumnName]);//给对象赋值
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 SET_Fieldinfo_Value_FOR_OBJECT_BY_Class_Name_And_Dt<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 == f.Name)
{
f.SetValue(obj, dr[dc.ColumnName]);//给对象赋值
continue;
}
}
}
}
}
return (T)obj;
}
/// <summary>
/// 通过指定类型对象,为页面容器中的控件(TextBox)赋值;
/// </summary>
/// <typeparam name="T">指定类型</typeparam>
/// <param name="md">指定类型参数</param>
/// <param name="controls_content">容器控件名</param>
public void Set_Value_FOR_TextBox_By_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 TextBox)
{
String str = ctrl.ID.ToString();
Controls_Prefix = "";
String[] myarr;
myarr = str.Split('_');
Controls_Prefix = myarr[myarr.Length - 1].ToString();
if (p.Name.ToString().Replace(Common_Prefix.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 Set_Value_FOR_TextBox_By_Dt(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.ToString() == Controls_Prefix.ToString())
{
((TextBox)ctrl).Text = dr[dc.ColumnName].ToString();
continue;
}
}
}
}
}
}
}
public void Set_Value_FOR_Label_By_Dt(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.ToString() == Controls_Prefix.ToString())
{
((Label)ctrl).Text = dr[dc.ColumnName].ToString();
continue;
}
}
}
}
}
}
}
public void Set_Value_FOR_Label_By_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.ToString() == Controls_Prefix.ToString())
{
((Label)ctrl).Text = p.GetValue(obj).ToString();
}
}
}
}
}
/// <summary>
/// 生成类中属性和字段的流代码
/// </summary>
/// <param name="propertyName">字段名称</param>
/// <returns>返回文本字符串;调用方法: </returns>
public String Create_Class_Property_Fields_String(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();
}
public String Create_Class_Body( String Prefix) {
MYSQL_SQLDB SQLDB = new MYSQL_SQLDB();
DataTable dt = new DataTable();
String CLASS_BODY = "";
dt = SQLDB.Get_DataTable_By_ExecuteSQL("SELECT column_name,data_type,character_maximum_length,numeric_precision,numeric_scale,is_nullable,extra ,column_default,column_comment FROM Information_schema.columns WHERE table_Name='" + Prefix.ToString() + "'");
foreach (DataRow dr in dt.Rows)
{
String dc = dr["column_name"].ToString();
CLASS_BODY = CLASS_BODY + Create_Class_Property_Fields_String((Prefix.ToString().Trim() + "_").ToString().Trim(), dc.ToString());
}
return CLASS_BODY;
}
public void Create_MODEL_DAL_BLL_Class(String path, String Proj_Profix, String TableName)
{
file_operate fp = new file_operate(path, Proj_Profix, TableName);
String CLASS_BODY = "";
CLASS_BODY= Create_Class_Body(TableName);
fp.Create_Model_Cs_File(CLASS_BODY);
fp.Create_DAL_Cs_File("");
fp.Create_BLL_Cs_File("");
}
/// <summary>
/// 通过页面控件(TextBox)为指定对象类型实例对象赋值
/// </summary>
/// <typeparam name="T">指定对象类型</typeparam>
/// <param name="Entry_Object">实例对象</param>
/// <param name="controls_content">控件容器名称</param>
/// <returns>返回赋值后的指定类型;调用方法: </returns>
public T SET_Fieldinfo_Value_FOR_OBJECT_BY_Controls<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.ToString() == Controls_Prefix.ToString() && ((TextBox)ctrl).Text.ToString().Trim().Length > 0)
{
p.SetValue(obj, ((TextBox)ctrl).Text.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 SET_Fieldinfo_Value_FOR_OBJECT_BY_Controls<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.ToString() == Controls_Prefix.ToString() && ((TextBox)ctrl).Text.ToString().Trim().Length > 0)
{
p.SetValue(obj, ((TextBox)ctrl).Text.ToString());//给对象赋值
continue; // ((TextBox)ctrl).Text = p.GetValue(md, null).ToString();
}
}
}
}
return (T)obj;
}
}