c# 之HttpContext通过表单提交后批量转换为Model
来源:互联网 发布:linux注释#作用 编辑:程序博客网 时间:2024/06/06 03:13
最近开发借助DWZ+.net,涉及到表单提交这一块,通过ashx来实现异步(ajax)的提交和执行。
遇到的情况是表单有时候包括了太多的字段,这时候便开始想偷懒的法子了,直接借用泛型写了个批量转换的法子,前提是表单传参的参数名必须跟model名一致,代码如下:
public static class FormToModelHelper<T> where T: new()
{
public static T ConvertToModel(HttpContext context)
{
T t = new T();
PropertyInfo[] propertys = t.GetType().GetProperties();
foreach (PropertyInfo pi in propertys)
{
if (!pi.CanWrite)
continue;
object value = context.Request[pi.Name];
if (value != null && value != DBNull.Value)
{
try
{
if (value.ToString() != "")
pi.SetValue(t, Convert.ChangeType(value, pi.PropertyType), null);//这一步很重要,用于类型转换
else
pi.SetValue(t, value, null);
}
catch
{ }
}
}
return t;
}
}
调用方法如下:
Model.Users model = new Model.Users();
model = FormToModelHelper<Model.Users>.ConvertToModel(context);//context 为ashx里的HttpContext
表达可能欠妥,都怪时间太窄,指缝太宽~~~
- c# 之HttpContext通过表单提交后批量转换为Model
- 表单转换为Model
- Spark源码分析之job提交后转换为Stage
- C#通过WebClient提交页面表单
- jQuery通过AJAX快速批量提交表单数据
- jQuery通过AJAX快速批量提交表单数据
- ajax之 表单序列化后提交
- jquery之表单插件(通过Ajax提交表单之二)
- c# 批量 插入转换为mysql日期
- jquery之表单插件(通过Ajax提交表单之一)
- 通过超链接提交表单
- 通过超链接提交表单
- 通过超链接提交表单
- 通过超链接提交表单
- 通过JS提交表单
- 表单提交语句转换为用js语句实现....
- 表单提交json数组,后台转换为对象接收
- jsp表单的批量提交
- JAVA super() this() 详解
- 深入理解Java内存模型
- 移动端页面编写摘记
- Chapter10 Querying with LINQ
- activity启动模式分析launchemode
- c# 之HttpContext通过表单提交后批量转换为Model
- 2015年创业中遇到的技术问题:71-80
- 算法整理-单链表相关
- Poj-3420 Quad Tiling
- 6/6plus适配的问题
- Edit Distance -- leetcode
- 内地艺人刘雨欣气质高清杂志图片
- HOF特征
- VS2008中Run-Time Check Failure#2 - Stack around the variable * was corrupted