控件中国网现已改版,您看到的是老版本网站的镜像,系统正在为您跳转到新网站首页,请稍候.......
中国最专业的商业控件资讯网产品咨询电话:023-67870900 023-67871946
产品咨询EMAIL:SALES@COMPONENTCN.COM

根据实体自动为页面控件赋值的方法

作者:佚名 出处:互联网 2010年07月07日 阅读:

根据实体自动为页面控件赋值的方法  

    前面发过一个为实体自动赋值的方法,与之相对应,在修改的时候我们需要把从数据库获取的实体赋值给页面上的控件,这个方法就实现了这个功能:
/// <summary>
        /// 根据实体为页面控件赋值,控件名称需要和实体属性名称一致
        /// </summary>
        /// <param name="t">实体对象</param>
        /// <param name="page">this</param>
        /// <param name="controlPrefix">控件前缀</param>
        public static void SetValues(T t, System.Web.UI.Page page, string controlPrefix)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append("<script language='javascript'>");
            Type type = t.GetType();//获取类型
            PropertyInfo[] pi = type.GetProperties();//获取属性集合
            sb.Append("try{");
            //int i = 0;
            foreach (PropertyInfo p in pi)
            {
                try
                {
                    sb.Append("document.getElementById('" + controlPrefix + p.Name + "').value = '" + p.GetValue(t, null).ToString() + "';");
                }
                catch
                {
                }
                //i++;
            }
            sb.Append("}catch(e){}");
            sb.Append("</script>");
            page.ClientScript.RegisterStartupScript(typeof(string), "setValues", sb.ToString());
        }

使用方法:
NewsEntity entity = DataFactory<NewsSqlProvider>.CreateProvider.GetEntity(new NewsEntityKey(_id));
RequestFormToEntity<NewsEntity>.SetValues(entity, this.Page, "ChildSkinControl1_ctl00_");

 

热推产品

  • ActiveReport... 强大的.NET报表设计、浏览、打印、转换控件,可以同时用于WindowsForms谀坔攀戀Forms平台下......
  • AnyChart AnyChart使你可以创建出绚丽的交互式的Flash和HTML5的图表和仪表控件。可以用于仪表盘的创......
首页 | 新闻中心 | 产品中心 | 技术文档 | 友情连接 | 关于磐岩 | 技术支持中心 | 联系我们 | 帮助中心 Copyright-2006 ComponentCN.com all rights reserved.重庆磐岩科技有限公司(控件中国网) 版权所有 电话:023 - 67870900 传真:023 - 67870270 产品咨询:sales@componentcn.com 渝ICP备12000264号 法律顾问:元炳律师事务所 重庆市江北区塔坪36号维丰创意绿苑A座28-5 邮编:400020
在线客服
在线客服系统
在线客服
在线客服系统