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

发布时间 - 2026-01-11 00:23:58    点击率:

本文实例讲述了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类  # 赋值  # Asp.net中使用DapperExtensions和反射来实现一个通用搜索  # asp.net反射简单应用实例  # asp.net实现利用反射  # 泛型  # 静态方法快速获取表单值到Model的方法  # asp.net 反射减少代码书写量  # asp.net简单页面控件赋值实现方法  # asp.net水晶报表参数字段在代码中赋值的方法  # ASP.NET服务器端控件RadioButtonList  # DropDownList  # CheckBoxList的取值、赋值用法  # asp.net中实体类对象赋值到表单的实现代码  # asp.net 用户控件读取以及赋值  # 操作技巧  # 相关内容  # 感兴趣  # 给大家  # 种方法  # 更多关于  # 所述  # 绑定  # 程序设计  # 讲述了  # 实体类  # string  # dtsell  # DataTable  # selmodel  # returns  # public  # object  # lcommonbll  # Count 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?  如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  PythonWeb开发入门教程_Flask快速构建Web应用  如何快速搭建安全的FTP站点?  Python企业级消息系统教程_KafkaRabbitMQ高并发应用  如何用5美元大硬盘VPS安全高效搭建个人网站?  如何在IIS管理器中快速创建并配置网站?  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  如何为不同团队 ID 动态生成多个非值班状态按钮  Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】  Laravel怎么导出Excel文件_Laravel Excel插件使用教程  VIVO手机上del键无效OnKeyListener不响应的原因及解决方法  Laravel路由怎么定义_Laravel核心路由系统完全入门指南  大学网站设计制作软件有哪些,如何将网站制作成自己app?  简单实现jsp分页  如何用花生壳三步快速搭建专属网站?  如何快速配置高效服务器建站软件?  php中::能调用final静态方法吗_final修饰静态方法调用规则【解答】  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】  悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音  北京的网站制作公司有哪些,哪个视频网站最好?  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  phpredis提高消息队列的实时性方法(推荐)  详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南  Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程  Linux系统命令中tree命令详解  Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解  HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】  INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】  Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】  原生JS实现图片轮播切换效果  Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出  Laravel中的withCount方法怎么高效统计关联模型数量  如何快速建站并高效导出源代码?  Angular 表单中正确绑定输入值以确保提交与验证正常工作  如何有效防御Web建站篡改攻击?  javascript基于原型链的继承及call和apply函数用法分析  Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】  如何使用 Go 正则表达式精准提取括号内首个纯字母标识符(忽略数字与嵌套)  如何快速搭建二级域名独立网站?  googleplay官方入口在哪里_Google Play官方商店快速入口指南  Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件  油猴 教程,油猴搜脚本为什么会网页无法显示?  Laravel如何使用Gate和Policy进行授权?(权限控制)  Laravel如何使用Telescope进行调试?(安装和使用教程)