asp.net利用反射实现给model类赋值的方法
本文实例讲述了asp.net利用反射实现给model类赋值的方法。分享给大家供大家参考,具体如下:
//////给model类自动赋值 /// ///获取查询一个model实例的sql语句 /// model实例对象 /// publicobjectselmodel(stringsqlstring,objectobj) { DataTabledtsell=lcommonbll.GetTable(sqlstring); intcount=dtsell.Rows.Count; if(count==0) { returnnull; } else { DataRowdr=dtsell.Rows[0]; #region另一种方法 //foreach(DataColumncolindr.Table.Columns) //{ //PropertyInfopt=seller.GetType().GetProperty(col.ColumnName); //if(String.IsNullOrEmpty(dr[col.ColumnName].ToString())) //{ //break; //} //else //{ //pt.SetValue(seller,dtsell.Rows[0][0],null); //} //} #endregion foreach(System.Reflection.PropertyInfopiinobj.GetType().GetProperties()) { if(pi.CanWrite) { try { if(dtsell.Rows[0][pi.Name]!=null) { pi.SetValue(obj,dtsell.Rows[0][pi.Name],null); } else { pi.SetValue(obj,null,null); } } catch { pi.SetValue(obj,null,null); } } } returnobj; } }
.CS调用
Sellerseller=newSeller();//实体类 bindBIND=newbind();//绑定方法类 seller=(Seller)BIND.selmodel("select*fromsellerwhereSID=2",seller);//赋值
更多关于asp.net相关内容感兴趣的读者可查看本站专题:《asp.net优化技巧总结》、《asp.net字符串操作技巧汇总》、《asp.net操作XML技巧总结》、《asp.net文件操作技巧汇总》、《asp.netajax技巧总结专题》及《asp.net缓存操作技巧总结》。
希望本文所述对大家asp.net程序设计有所帮助。