热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

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;
///
/// 通过对象设置获取表单值
///

namespace Com.Fun
{
public static class SetFormToModel
{
///
/// 将表单赋予对对象
///

/// 实体对象
/// 表单集合
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);
}
}
}

///
/// 将对象赋予表单
///

/// 实体对象
/// 页面对象
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.SetValue(mh,this.Page);

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

推荐阅读
  • 百度云加速节点IP白名单配置指南:宝塔面板Nginx防火墙应用
    百度云加速为已备案的网站提供免费加速服务,但使用宝塔面板自带Nginx防火墙的用户需将百度云加速的CDN IP段加入白名单以确保正常访问。本文将详细介绍如何操作。 ... [详细]
  • 本文探讨了在渗透测试中信息收集阶段使用的几种端口扫描技术,包括nmap、masscan、socket、telnet及nc等工具的应用与比较。 ... [详细]
  • 近期,谷歌公司的一名安全工程师Eduardo Vela在jQuery Mobile框架中发现了一项可能引发跨站脚本攻击(XSS)的安全漏洞。此漏洞使得使用jQuery Mobile的所有网站面临潜在的安全威胁。 ... [详细]
  • 在DELL Inspiron 14R上部署CentOS X64 6.4的详细步骤
    本文详细记录了在DELL Inspiron 14R笔记本电脑上安装CentOS X64 6.4操作系统的过程,包括遇到的问题及解决方法。 ... [详细]
  • 探讨了一个关于是否应该继续深造或直接步入职场的讨论帖,虽然时间久远,但其内容依然具有参考价值。 ... [详细]
  • 本文探讨了在JavaScript中执行字符串形式代码的多种方法,包括使用eval()函数以及跨页面调用的方法。同时,文章详细介绍了JavaScript中字符串的各种常用方法及其应用场景。 ... [详细]
  • MyEclipse技巧:高效生成toString方法
    本文将介绍如何在MyEclipse中快速且高效地生成toString方法,帮助开发者简化编码过程,提高开发效率。 ... [详细]
  • 本文介绍了如何使用命令行在 Windows 系统中启动或关闭 VMWare 的关键服务,包括 VMwareHostd、VMAuthdService、VMUSBArbService、VMware NAT Service 和 VMnetDHCP。 ... [详细]
  • 本文介绍并分享了三个个人开源项目,涵盖单元测试中HttpContext的可测试性增强、Visual Studio插件开发以及单元测试报告自动生成工具。 ... [详细]
  • HTML网页出现乱码的主要成因及解决策略
    本文深入分析了HTML网页出现乱码的各种可能原因,并提供了相应的解决方案,帮助开发者有效避免和处理此类问题。 ... [详细]
  • 本文详细探讨了C++中赋值运算符重载函数(operator=)的使用方法和注意事项,结合实例分析了其参数、返回值、调用时机等关键点,并讨论了浅拷贝和深拷贝的区别及其重要性。 ... [详细]
  • 本文将详细介绍NSRunLoop的工作原理,包括其基本概念、消息类型(事件源)、运行模式、生命周期管理以及嵌套运行等关键知识点,帮助开发者更好地理解和应用这一重要技术。 ... [详细]
  • 本文介绍如何在Django项目中利用UpdateView更新数据后,根据主键(pk)自动重定向至对应的DetailView页面,实现流畅的用户交互体验。 ... [详细]
  • Python 中使用 Pyecharts 绘制雷达图详解
    本文将详细介绍如何在 Python 环境中利用 Pyecharts 库来创建美观且功能丰富的雷达图。适合需要图形化展示多维度数据的开发者和研究人员。 ... [详细]
  • 本文探讨了如何通过调整页面的文档模式设置,解决JSP Grid在Quirks模式下无法正常使用的常见问题。 ... [详细]
author-avatar
小闯娃
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有