在一般处理程序中,把Form Post过来的表单集合转换成对象 ,仿 MVC post,反射原理


using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Linq;
using System.Reflection;
using System.Web;
using WebSite.Models;

namespace testWebuploader.Scripts.Plugin.webuploader_v0._1._2
{
/// <summary>
/// webUploader 的摘要说明
/// </summary>
public class webUploader : IHttpHandler
{

public void ProcessRequest(HttpContext context)
{
HttpFileCollection files = context.Request.Files;
ImgUploadModel imguploadmodel = FormToClass<ImgUploadModel>(context.Request.Form);
context.Response.ContentType = "text/plain";
context.Response.Write("Hello World");
}

public bool IsReusable
{
get
{
return false;
}
}
/// <summary>
/// 把Form Post过来的表单集合转换成对象 ,仿 MVC post
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="collection"></param>
/// <returns></returns>
public T FormToClass<T>(NameValueCollection collection)
{
T t = Activator.CreateInstance<T>();
PropertyInfo[] properties = t.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance);
foreach (PropertyInfo _target in properties)
{
if (_target.CanWrite)
{
_target.SetValue(t, Convert.ChangeType(collection[_target.Name], _target.PropertyType));
}
}
return t;
}
}
}

在一般处理程序中,把Form Post过来的表单集合转换成对象 ,仿 MVC post,反射原理

时间: 2024-10-14 09:22:40

在一般处理程序中,把Form Post过来的表单集合转换成对象 ,仿 MVC post,反射原理的相关文章

在javascript中关于submit和button提交表单区别

原文:在javascript中关于submit和button提交表单区别 原文来自:http://www.jb51.net/article/42236.htm submit是button的一个特例,也是button的一种,它把提交这个动作自动集成了,submit和button,二者都以按钮的形式展现,看起来都是按钮,所不同的是type属性和处发响应的事件上. 1. 如果表单在点击提交按钮后需要用JS进行处理(包括输入验证)后再提交的话,通常都必须把submit改成button,即取消其自动提交的

10天学会phpWeChat——第八天:Form类,丰富表单提交的字段类型

通过前面七讲的系列教程,我们完成了一个包含后台并自适应PC+h5移动端的文章管理模块. 在实际的生产环境中,文章投稿.商品上传等操作并不会简单局限于一个text和textarea组成的表单.在实际中,我们可能会用到web富文本编辑器(如ueditor.markdown).图片上传.多图上传.附件上传.地图标注等更加丰富的表单类型. 今天,我们开始<10天学会phpWeChat>的第八讲:Form类,丰富表单提交的字段类型. 一.什么是Form类? Form类是phpWeChat封装好的一个类,

(转)在javascript中关于submit和button提交表单区别

原文来自:http://www.jb51.net/article/42236.htm submit是button的一个特例,也是button的一种,它把提交这个动作自动集成了,submit和button,二者都以按钮的形式展现,看起来都是按钮,所不同的是type属性和处发响应的事件上. 1. 如果表单在点击提交按钮后需要用JS进行处理(包括输入验证)后再提交的话,通常都必须把submit改成button,即取消其自动提交的行为, 否则,将会造成提交两次的效果,对于动态网页来说,也就是对数据库操作

jquery.form.js(ajax表单提交)

Form插件地址: 官方网站:http://malsup.com/jQuery/form/ 翻译地址:http://www.aqee.net/docs/jquery.form.plugin/jquery.form.plugin.html#getting-started 一.准备工作 写一个表单: <form id="reg" action="123.php" method="post"> <p> <label for

zend framework获取数据库中枚举类enum的数据并将其转换成数组

在model中建立这样的模型,在其中写入获取枚举类的方法 class Student extends Zend_Db_Table{ protected $_name ='student'; protected $_primary ='id'; function getPartyEnum($enumname){ //适配器并获取数据 $db = $this->getAdapter(); $db->query("SET NAMES GBK"); $sql = $db->q

JavaScript基础 submit按钮配合form的onsubmit实现表单的提交与验证

镇场诗: 清心感悟智慧语,不着世间名与利.学水处下纳百川,舍尽贡高我慢意. 学有小成返哺根,愿铸一良心博客.诚心于此写经验,愿见文者得启发.------------------------------------------ code: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"

办公中遇到打不开的MKV视频怎么转换成AVI视频

办公中遇到打不开的MKV视频怎么转换成AVI视频,在办公的时候,会接触到形形×××的视频格式,有一次同事遇到了MKV视频,发现这个格式大家伙都没有怎么接触,后来在百度中发现原来可以将其转换成常用的格式AVI,今天小编就给大家介绍一下相关的步骤操作.步骤一:先是将MKV视频添加至桌面,并进入电脑中自带的浏览器,在百度中搜索"迅捷PDF在线转换器",找到相对应的页面. 步骤二:进入在线转换器的首页后可以发现很多办公中所需要用到的功能,我们选择导航栏上的"音视频转换"并在

form的onsubmit事件--表单提交前的验证最佳实现方式

连续2天,在进行form表单包括上传表单的提交操作时,刚开始用struts2自带的上传模式与后台进行交互,但原来的页面是用html做的,不能通过国际化资源来返回后台操作的错误信息于静态的html,之后我又百度了许多ajax异步与后台交互的方法,如ajaxForm,ajaxSubmit,ajaxFileUpload等,用的是心力交瘁,各种错误抛出,然后还尝试easyui的表单提交,还是不成...这一切的目的都是为了实现异步交互,不让当前页面跳转,使用ajax实现文件上传的异步刷新,最后还是死心了,

详解JavaScript中的Url编码/解码,表单提交中网址编码

本文主要针对URI编解码的相关问题做了介绍,对Url编码中哪些字符需要编码.为什么需要编码做了详细的说明,并对比分析了Javascript 中和 编解码相关的几对函数escape / unescape,encodeURI / decodeURI和 encodeURIComponent / decodeURIComponent. 预备知识 foo://example.com:8042/over/there?name=ferret#nose \_/ \______________/ \_______