asp.net利用反射实现给model类赋值的示例代码分析


本文摘自PHP中文网,作者黄舟,侵删。

这篇文章主要介绍了asp.net利用反射实现给model类赋值的方法,结合实例形式分析了asp.net使用反射给model类赋值的操作步骤与相关操作技巧,需要的朋友可以参考下

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

/// <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调用

1

2

3

Seller seller = new Seller();//实体类

bind BIND = new bind();//绑定方法类

seller = (Seller)BIND.selmodel("select * from seller where SID=2", seller);//赋值

以上就是asp.net利用反射实现给model类赋值的示例代码分析的详细内容!

相关阅读 >>

两个需要在asp.net程序中值得注意的地方

分享asp.net学习笔记(2)--webpages 介绍

asp.net(c#)如何读取excel的文件的实例详解

asp.net core实例详解一

asp.net 通过ajax实现无刷新分页

asp.net 获取 客户端ip

详细介绍asp.net core mvc项目实现多语言的示例代码

学习asp.net core 2遇到的问题分享

分享asp.net学习笔记(12)razor 简介

asp.net通过remoting service上传文件的实例详解

更多相关阅读请进入《asp.net》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...