首页 > 代码库 > 在一般处理程序中,把Form Post过来的表单集合转换成对象 ,仿 MVC post,反射原理
在一般处理程序中,把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; } } }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。