您好,欢迎来到皓特汽车网。
搜索
您的当前位置:首页asp.net利用反射实现给model类赋值的方法

asp.net利用反射实现给model类赋值的方法

来源:皓特汽车网


本文实例讲述了asp.net利用反射实现给model类赋值的方法。分享给大家供大家参考,具体如下:

/// <summary>
/// 给model类自动赋值
/// </summary>
/// <param name="sqlstring">获取查询一个model实例的sql语句</param>
/// <param name="obj">model实例对象</param>
/// <returns></returns>
public object selmodel(string sqlstring,object obj)
{
 DataTable dtsell = lcommonbll.GetTable(sqlstring);
 int count = dtsell.Rows.Count;
 if (count == 0)
 {
 return null;
 }
 else
 {
 DataRow dr = dtsell.Rows[0];
 #region 另一种方法
 //foreach (DataColumn col in dr.Table.Columns)
 //{
 // PropertyInfo pt = 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.PropertyInfo pi in obj.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);
 }
 }
 }
 return obj;
 }
}

.CS调用

Seller seller = new Seller();//实体类
bind BIND = new bind();//绑定方法类
seller = (Seller)BIND.selmodel("select * from seller where SID=2", seller);//赋值

更多关于asp.net相关内容感兴趣的读者可查看本站专题:《asp.net优化技巧总结》、《asp.net字符串操作技巧汇总》、《asp.net操作XML技巧总结》、《asp.net文件操作技巧汇总》、《asp.net ajax技巧总结专题》及《asp.net缓存操作技巧总结》。

希望本文所述对大家asp.net程序设计有所帮助。

Copyright © 2019- howto1234.cn 版权所有

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务