虚位以待(AD)
虚位以待(AD)
首页 > 网络编程 > ASP.NET > asp.net利用反射实现给model类赋值的方法

asp.net利用反射实现给model类赋值的方法
类别:ASP.NET   作者:码皇   来源:互联网   点击:

这篇文章主要介绍了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程序设计有所帮助。

相关热词搜索: asp net 反射 model类 赋值