asp.net中实体类对象赋值到表单的实现代码

有一个问题就是 :表单名称和对象的属性名(我是属性赋值 你也可以用字段)要保持一样,,有点不安全,不过后台用挺好的,在说填写表单数据后台用的比较多


代码如下:

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Collections.Generic;
using System.Reflection;
using System.Collections.Specialized;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
/// <summary>
/// 通过对象设置获取表单值
/// </summary>
namespace Com.Fun
{
public static class SetFormToModel<T>
{
/// <summary>
/// 将表单赋予对对象
/// </summary>
/// <param name="t">实体对象</param>
/// <param name="form">表单集合</param>
public static void GetValue(T t, NameValueCollection form)
{
Type type = t.GetType();
PropertyInfo[] pi = type.GetProperties();
foreach (PropertyInfo p in pi)
{
if (form[p.Name] != null)
{
p.SetValue(t, Convert.ChangeType(form[p.Name], p.PropertyType), null);
}
}
}

/// <summary>
/// 将对象赋予表单
/// </summary>
/// <param name="t">实体对象</param>
/// <param name="c">页面对象</param>
public static void SetValue(T t,Page page)
{
Type type = t.GetType();
PropertyInfo[] pi = type.GetProperties();
foreach (PropertyInfo p in pi)
{
System.Web.UI.HtmlControls.HtmlInputText text = page.FindControl(p.Name) as System.Web.UI.HtmlControls.HtmlInputText;
if (text != null)
{
text.Value = p.GetValue(t, null).ToString();
}
}

}
}
}

//调用
MHouseReco mh = new DHouseReco().GetModel(id);
Com.Fun.SetFormToModel<MHouseReco>.SetValue(mh,this.Page);

MHouseReco mh = new MHouseReco();
Com.Fun.SetFormToModel<MHouseReco>.GetValue(mh, this.Request.Form);

(0)

相关推荐

  • asp.net 反射减少代码书写量

    复制代码 代码如下: public bool Add(Liuyan refmodel)    {        string sql = "insert into liuyan(name,phone,zhiwei,gongsi,addr,country,dianyou,content,adddate)values(@name,@phone,@zhiwei,@gongsi,@addr,@country,@dianyou,@content,@adddate)";        OleDbP

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

    本文实例讲述了asp.net利用反射实现给model类赋值的方法.分享给大家供大家参考,具体如下: /// <summary> /// 给model类自动赋值 /// </summary> /// <param name="sqlstring">获取查询一个model实例的sql语句</param> /// <param name="obj">model实例对象</param> /// <

  • Asp.net中使用DapperExtensions和反射来实现一个通用搜索

    前言 搜索功能是一个很常用的功能,当然这个搜索不是指全文检索,是指网站的后台管理系统或ERP系统列表的搜索功能.常见做法一般就是在搜索栏上加上几个常用字段来搜索.代码可能一般这样实现 StringBuilder sqlStr = new StringBuilder(); if (!string.IsNullOrEmpty(RealName)) { sqlStr.Append(" and RealName = @RealName"); } if (Age != -1) { sqlStr.

  • ASP.NET服务器端控件RadioButtonList,DropDownList,CheckBoxList的取值、赋值用法

    这三个控件都有一个Items集合,可以用 RepeatLayout 和 RepeatDirection 属性来控制列表的呈现形式.如果 RepeatLayout 的值为 Table,那么将在表中呈现列表.如果设置成 Flow,那么将在没有任何表结构的情况下呈现列表.默认情况下,RepeatDirection 的值为 Vertical.将此属性设置成 Horizontal 将会使列表水平呈现. RadioButtonList:控件提供已选中一个选项的单项选择列表(数据源单选).与其他列表控件相似,

  • asp.net实现利用反射,泛型,静态方法快速获取表单值到Model的方法

    本文实例讲述了asp.net实现利用反射,泛型,静态方法快速获取表单值到Model的方法.分享给大家供大家参考,具体如下: 这是初级的,很简单,牛人可以不看了.不过还算实用. 在项目中经常需要处理表单,给model赋值,很烦人的一些重复代码.如下边的代码: News news = new News(); news.Id = int.Parse(Request.Form["Id"]); news.Category = int.Parse(Request.Form["Catego

  • asp.net水晶报表参数字段在代码中赋值的方法

    本文实例讲述了asp.net水晶报表参数字段在代码中赋值的方法.分享给大家供大家参考.具体实现方法如下: // 声明将参数传递给查看器控件所需的变量. ParameterFields paramFields = new ParameterFields (); ParameterField paramField = new ParameterField (); ParameterDiscreteValue discreteVal = new ParameterDiscreteValue (); P

  • asp.net 用户控件读取以及赋值

    XML内容如下: 复制代码 代码如下: <?xml version="1.0" encoding="utf-8" ?> <SystemVersion> <Item> <Version_ID>1</Version_ID> <Version_Name>CN</Version_Name> </Item> <Item> <Version_ID>2</

  • asp.net反射简单应用实例

    本文实例讲述了asp.net反射简单应用.分享给大家供大家参考,具体如下: 反射提供了封装程序集.模块和类型的对象(Type 类型).可以使用反射动态创建类型的实例,将类型绑定到现有对象,或从现有对象获取类型并调用其方法或访问其字段和属性.如果代码中使用了属性,可以利用反射对它们进行访问.----这是反射最简单的理解.下面就是一个最简单的实例来讲述反射技术的应用! 一. 声明接口,接口中包含一个虚方法.如下 using System; using System.Collections.Gener

  • asp.net简单页面控件赋值实现方法

    本文实例讲述了asp.net简单页面控件赋值的方法.分享给大家供大家参考,具体如下: /// <summary> /// 赋值 表名,控件名,要查询的唯一数据 /// </summary> protected void SetEvaluate(string TableName, string UpName, string Id) { ContentPlaceHolder cph = (ContentPlaceHolder)Page.Master.FindControl("

  • asp.net中实体类对象赋值到表单的实现代码

    有一个问题就是 :表单名称和对象的属性名(我是属性赋值 你也可以用字段)要保持一样,,有点不安全,不过后台用挺好的,在说填写表单数据后台用的比较多 复制代码 代码如下: using System; using System.Data; using System.Configuration; using System.Collections; using System.Collections.Generic; using System.Reflection; using System.Collec

  • Kotlin中实体类的创建方式

    类的基本格式 class 类名{ } 属性的基本格式 var 属性名字 : 类型 下面是实体类代码 package com.dldw.entity import java.util.* class Demo { //var 声明的属性可以被二次赋值 val声明的是不可变属性,赋值以后不能在赋值,否则编译报错 //长整型 64位 注意后面加大写L var height: Long? = 0L //整型 32 位 var id : Int?= 0 //短整型 16位 var short :Short

  • 解决Beanutils.copyproperties实体类对象不一致的问题

    今天给大家分析一个解决Beanutils.copyproperties实体类对象名不一致的解决方法,一般我们在两个对象拷贝的问题上,我个人用的比较多的就是Beanutils.copyproperties,字段名如果不一致的话就去实体类中使用重载,把当前实体类的对象赋值给另外一个对象,也有用到set(),当然这些也都能解决Beanutils.copyproperties实体类属性不一致的问题,不过今天要给大家分享的是,不用set()和实体类的重构,使用类的反射机制去完成! 话不多说直接开始: 我是

  • ASP.NET中Application全局对象用法实例浅析

    本文实例讲述了ASP.NET中Application全局对象用法.分享给大家供大家参考.具体如下: Application是应用全局对象,被全体共享.无论通过哪个页面操作Application,另一个页面都可以读取Application信息. 由于Application是共享的,操作之前先Lock,操作完成后UnLock. 在一个页面设置数据: Application.Lock(); Application.Set("address", "上海"); Applica

  • Android项目中实体类entity的作用详解

    估计很多入门安卓的朋友对entity很困惑,为什么要写实体类?有什么用?写来干什么? 对于实体类的理解我入门的时候也是困惑了好久,后面用多了才慢慢理解,这篇博客就当复习和笔记. Java中entity(实体类)的写法规范 在日常的Java项目开发中,entity(实体类)是必不可少的,它们一般都有很多的属性,并有相应的setter和getter方法.entity(实体类)的作用一般是和数据表做映射.所以快速写出规范的entity(实体类)是java开发中一项必不可少的技能. 在项目中写实体类一般

  • Java中实体类为什么要实现Serializable序列化的作用

    客户端访问了某个能开启会话功能的资源, web服务器就会创建一个与该客户端对应的HttpSession对象,每个HttpSession对象都要站用一定的内存空间.如果在某一时间段内访问站点的用户很多,web服务器内存中就会积累大量的HttpSession对象,消耗大量的服务器内存,即使用户已经离开或者关闭了浏览器,web服务器仍要保留与之对应的HttpSession对象,在他们超时之前,一直占用web服务器内存资源. web服务器通常将那些暂时不活动但未超时的HttpSession对象转移到文件

  • asp.net core实体类生产CRUD后台管理界面

    目录 前言介绍 演示功能 机制设定 1.添加.修改数据 2.列表查询.过滤筛选 3.删除数据 思考人生 前言介绍 喜欢小规模团队的"单打独斗",有的时候即使在大公司,也经常做着3-5个人团队的小项目,相信很多人有类似的经历. 本文介绍如何将项目中已存在的[实体类],直接生产出 CRUD 后台管理界面. 对于通用后台管理系统的生成,除了单纯的对单表 crud 操作外,我还喜欢利用导航属性的操作,比如: 1.Song.Tag 多对多场景,添加/更新 Song 时可以把 Tag 一起保存: 2.列表页

  • Mybatis实体类对象入参查询的笔记

    目录 Mybatis实体类对象入参查询 测试实体类对象结构如下 测试文件内容 Mybatis中的参数深入 一.mybatis的参数 parameterType参数 二.mybatis的输出结果的封装 resultType(输出类型) Mybatis实体类对象入参查询 测试实体类对象结构如下 /** 使用lobmok插件 */ @Getter @Setter @NoArgsConstructor @ToString @EqualsAndHashCode public class Vendor {

  • 全面了解python中的类,对象,方法,属性

    python中一切皆为对象,所谓对象:我自己就是一个对象,我玩的电脑就是对象,坐着的椅子就是对象,家里养的小狗也是一个对象...... 我们通过描述属性(特征)和行为来描述一个对象的.比如家里的小狗,它的颜色,大小,年龄,体重等是它的属性或特征.它会汪汪叫,会摇尾巴等是它的行为. 我们在描述一个真实对象(物体)时包括两个方面: 它可以做什么(行为) 它是什么样的(属性或特征). 在python中,一个对象的特征也称为属性(attribute).它所具有的行为也称为方法(method) 结论:对象

  • 解决springmvc关于前台日期作为实体类对象参数类型转换错误的问题

    页面报错: 后台错误: Field error in object 'user' on field 'birthday': rejected value [2013-06-24]; codes [typeMismatch.user.birthday,typeMismatch.birthday,typeMismatch.java.util.Date,typeMismatch]; arguments [org.springframework.context.support.DefaultMessag

随机推荐