asp.net中实体类对象赋值到表单的实现代码_asp.net教程-查字典教程网
asp.net中实体类对象赋值到表单的实现代码
asp.net中实体类对象赋值到表单的实现代码
发布时间:2016-12-29 来源:查字典编辑
摘要:有一个问题就是:表单名称和对象的属性名(我是属性赋值你也可以用字段)要保持一样,,有点不安全,不过后台用挺好的,在说填写表单数据后台用的比较...

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

复制代码 代码如下:

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);

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新asp.net教程学习
    热门asp.net教程学习
    编程开发子分类