服务器之家

服务器之家 > 正文

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

时间:2019-09-10 11:37     来源/作者: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); 

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字 2019-06-05
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-07-24
叠猫猫队长可以退出吗 叠猫猫队长怎么换队伍
叠猫猫队长可以退出吗 叠猫猫队长怎么换队伍 2019-06-05
返回顶部