再ASP.NET中快速的把Request.Form 转换成一个model

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013542549/article/details/79237782
        public static T TableRowToModel<T>(T objmodel, System.Collections.Specialized.NameValueCollection form)
        {
            foreach (PropertyInfo info in typeof(T).GetProperties())
            {
                string name = info.Name;

                if (form.GetValues(name) != null)
                {
                    //如果不是泛型
                    if (!info.PropertyType.IsGenericType)
                    {
                        //如果是空则设置空,非空则设置值。
                        info.SetValue(objmodel, string.IsNullOrEmpty(form.GetValues(name).ToString()) ? null : Convert.ChangeType(form.GetValues(name), info.PropertyType), null);
                    }
                    //如果是泛型,则找他的基础类型
                    else if (info.PropertyType.GetGenericTypeDefinition() == typeof(Nullable<>))
                    {
                        info.SetValue(objmodel, string.IsNullOrEmpty(form.GetValues(name).ToString()) ? null : Convert.ChangeType(form.GetValues(name), Nullable.GetUnderlyingType(info.PropertyType)), null);
                    }
                }
            }
            return objmodel;
        }



没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试