//using System;
//using System.Collections.Generic;
//using System.Text;
//using System.Reflection;
//using System.ComponentModel;
//using System.Web.UI.WebControls;
//using System.Web.UI;
//namespace XControl
//{
// /// <summary>
// /// ÀàÐÍÖúÊÖÀà
// /// </summary>
// internal class ViewHelper
// {
// /// <summary>
// /// È¡µÃËùÓÐÊôÐÔÁÐ
// /// </summary>
// /// <param name="t"></param>
// /// <returns></returns>
// public static List<FieldItem> AllFields(Type t)
// {
// List<FieldItem> Fields = new List<FieldItem>();
// PropertyInfo[] pis = t.GetProperties();
// foreach (PropertyInfo pi in pis)
// {
// DescriptionAttribute[] Des = pi.GetCustomAttributes(typeof(DescriptionAttribute), false) as DescriptionAttribute[];
// DataObjectFieldAttribute[] Dof = pi.GetCustomAttributes(typeof(DataObjectFieldAttribute), false) as DataObjectFieldAttribute[];
// // ±ØÐë°üº¬DataObjectFieldAttribute£¬DescriptionAttribute¿ÉÒÔΪ¿Õ
// if (Dof != null && Dof.Length > 0)
// if (Des != null && Des.Length > 0)
// Fields.Add(new FieldItem(pi, Dof[0], Des[0]));
// else
// Fields.Add(new FieldItem(pi, Dof[0]));
// }
// return Fields;
// }
// /// <summary>
// /// È¡µÃʵÌåÀàÐÍ
// /// </summary>
// /// <returns></returns>
// public static Type GetEntryType<T>(ISite Site) where T : DataBoundControl
// {
// if (Site == null || Site.Component == null || !(Site.Component is T)) return null;
// T dbc = Site.Component as T;
// if (dbc == null || dbc.Page == null) return null;
// String datasourceid = dbc.DataSourceID;
// if (String.IsNullOrEmpty(datasourceid)) return null;
// // ÕÒµ½Êý¾Ý°ó¶¨¿Ø¼þObjectDataSource
// //ObjectDataSource obj = dbc.Page.FindControl(datasourceid) as ObjectDataSource;
// ObjectDataSource obj = Find(dbc.Page, datasourceid) as ObjectDataSource;
// if (obj == null)
// {
// MsgBox<T>("ÎÞ·¨ÕÒµ½ÃûΪ " + datasourceid + " µÄObjectDataSource£¡");
// return null;
// }
// // ÕÒµ½ÊµÌåÀàÐÍ
// String typeName = obj.DataObjectTypeName;
// if (String.IsNullOrEmpty(typeName)) typeName = obj.TypeName;
// if (String.IsNullOrEmpty(typeName))
// {
// MsgBox<T>("ÇëÏÈÅäÖúÃ" + datasourceid + "ÔÙ°ó¶¨Êý¾ÝÔ´£¡");
// return null;
// }
// Type t = Type.GetType(typeName);
// if (t == null)
// {
// t = System.Web.Compilation.BuildManager.GetType(typeName, false, true);
// if (t == null)
// {
// Assembly[] abs = AppDomain.CurrentDomain.GetAssemblies();
// foreach (Assembly ab in abs)
// {
// t = ab.GetType(typeName, false, true);
// if (t != null) break;
// }
// if (t == null)
// {
// MsgBox<T>("ÎÞ·¨¶¨Î»Êý¾Ý×é¼þÀࣺ" + typeName + "£¬¿ÉÄÜÄãÐèÒª±àÒëÒ»´ÎÊý¾Ý×é¼þÀàËùÔÚÏîÄ¿¡£");
// return null;
// }
// }
// }
// return t;
// }
// public static void MsgBox<T>(String msg)
// {
// System.Windows.Forms.MessageBox.Show(msg, typeof(T).ToString() + "¿Ø¼þÉè¼Æʱ³ö´í£¡");
// }
// public static Control Find(Control control, String id)
// {
// if (control == null || String.IsNullOrEmpty(id)) return null;
// if (control.ID == id) return control;
// if (control.Controls == null || control.Controls.Count < 1) return null;
// foreach (Control w in control.Controls)
// if (w.ID == id) return w;
// foreach (Control w in control.Controls)
// {
// Control webc = Find(w, id);
// if (webc != null) return webc;
// }
// return null;
// }
// }
// /// <summary>
// /// Êý¾ÝÊôÐÔÔªÊý¾ÝÒÔ¼°ÌØÐÔ
// /// </summary>
// internal class FieldItem
// {
// /// <summary>
// /// ÊôÐÔÔªÊý¾Ý
// /// </summary>
// public PropertyInfo Info;
// /// <summary>
// /// ÊôÐÔ˵Ã÷
// /// </summary>
// public String Description;
// /// <summary>
// /// Êý¾Ý×Ö¶ÎÌØÐÔ
// /// </summary>
// public DataObjectFieldAttribute DataObjectField;
// /// <summary>
// /// ÊôÐÔÃû
// /// </summary>
// public String Name
// {
// get
// {
// return Info.Name;
// }
// }
// /// <summary>
// /// ¹¹Ô캯Êý
// /// </summary>
// /// <param name="pi"></param>
// /// <param name="dof"></param>
// public FieldItem(PropertyInfo pi, DataObjectFieldAttribute dof)
// {
// Info = pi;
// DataObjectField = dof;
// }
// /// <summary>
// /// ¹¹Ô캯Êý
// /// </summary>
// /// <param name="pi"></param>
// /// <param name="dof"></param>
// /// <param name="bc"></param>
// public FieldItem(PropertyInfo pi, DataObjectFieldAttribute dof, DescriptionAttribute bc)
// {
// Info = pi;
// DataObjectField = dof;
// Description = bc.Description;
// }
// }
//}
|