使用腳本提交集合类时,MVC binding

public class FormExtensionValueProviderFactory : ValueProviderFactory
{
public override IValueProvider GetValueProvider(ControllerContext controllerContext)
{
NameValueCollection requestData = new NameValueCollection();
var headers = controllerContext.RequestContext.HttpContext.Request.Headers;
foreach (string key in headers.Keys)
{
requestData.Add(key.Replace("-", ""), headers[key]);
}
var forms = controllerContext.RequestContext.HttpContext.Request.Form;
foreach (string key in forms.Keys)
{
if (!string.IsNullOrEmpty(key))
{
requestData.Add(ReplaceText(key), forms[key]);
}
}
return new NameValueCollectionValueProvider(requestData, CultureInfo.InvariantCulture);
} public string ReplaceText(string CommandText)
{
Regex reg = new Regex(@"(?<part1>(\S*)\[)(?<part2>(\d*)\])(?<part3>(\[\S*\]))", RegexOptions.IgnoreCase | RegexOptions.Multiline);
var result = reg.Match(CommandText).Groups; if (result["part2"] != null && result.Count > )
{
string part1 = result["part1"].Value;
string part2 = result["part2"].Value;
string part3 = result["part3"].Value;
return result["part1"].Value + result["part2"].Value
+ result["part3"].Value.Replace("[", ".").Replace("]", "");
}
else
{
return CommandText;
}
} }

在 Application_Start 添加

ValueProviderFactories.Factories.Insert(, new FormExtensionValueProviderFactory());

MVC集合ModelBinder的更多相关文章

  1. MVC扩展ModelBinder使类型为DateTime的Action参数可以接收日期格式的字符串

    原文:MVC扩展ModelBinder使类型为DateTime的Action参数可以接收日期格式的字符串 如何让视图通过某种途径,把符合日期格式的字符串放到路由中,再传递给类型为DateTime的控制 ...

  2. MVC扩展ModelBinder,通过继承DefaultModelBinder把表单数据封装成类作为action参数

    把视图省.市.街道表单数据,封装成一个类,作为action参数.如下: action方法参数类型: namespace MvcApplication1.Models{    public class ...

  3. 蒋金楠How ASP.NET MVC Works?[持续更新中…]

    一.ASP.NET + MVC IIS与ASP.NET管道 MVC.MVP以及Model2[上篇]  MVC.MVP以及Model2[下篇] ASP.NET MVC是如何运行的[1]: 建立在“伪”M ...

  4. How ASP.NET MVC Works?

    原文地址:http://www.cnblogs.com/artech/archive/2012/04/10/how-mvc-works.html?ADUIN=7783008&ADSESSION ...

  5. How ASP.NET MVC Works ? (Artech)

    一.ASP.NET + MVC IIS与ASP.NET管道 MVC.MVP以及Model2[上篇] MVC.MVP以及Model2[下篇] ASP.NET MVC是如何运行的[1]: 建立在“伪”MV ...

  6. Datatables 在asp.net mvc中的使用

    前言 最近使用ABP(ASP.NET Boilerplate)做新项目,以前都是自己扩展一个HtmlHelper来完成同步/异步分页,但是有个地方一直不满意,排序太费劲. 以前接触过一点点的Datat ...

  7. ASP.NET MVC Framework

    ASP.NET MVC Framework是微软在ASP.NET中所添加的一组类库,这组类库可以使用Model-View-Controller的设计模式来开发ASP.NET的应用程序.它与现有的ASP ...

  8. Datatables 在asp.net mvc

    Datatables 在asp.net mvc中的使用 前言 最近使用ABP(ASP.NET Boilerplate)做新项目,以前都是自己扩展一个HtmlHelper来完成同步/异步分页,但是有个地 ...

  9. 快速入门系列--WebAPI--04在老版本MVC4下的调整

    WebAPI是建立在MVC和WCF的基础上的,原来微软老是喜欢封装的很多,这次终于愿意将http编程模型的相关细节暴露给我们了.在之前的介绍中,基本上都基于.NET 4.5之后版本,其System.N ...

随机推荐

  1. TinyXML解析

    TinyXML介绍 最近做一个负载均衡的小项目,需要解析xml配置文件,用到了TinyXML,感觉使用起来很容易,给出一个使用TinyXML进行XML解析的简单例子,很多复杂的应用都可以基于本例子的方 ...

  2. 随机获取list或set或map中的一个元素

    转自:https://m.2cto.com/kf/201507/412937.html import java.util.HashSet;import java.util.List;import ja ...

  3. 【笔记】Linux进程间同步和进程绑定至特定cpu

    #define _GNU_SOURCE #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> ...

  4. JEECG笔记

    一.修改默认主题 找到SysThemesEnum.java类,路径为:\src\org\jeecgframework\core\enums\SysThemesEnum.java,在toEnum(Str ...

  5. ReLU 函数

    线性整流函数(Rectified Linear Unit, ReLU),又称修正线性单元,是一种人工神经网络中常用的激活函数(activation function),通常指代以斜坡函数及其变种 为代 ...

  6. 201771010135 杨蓉庆《面对对象程序设计(java)》第十八周学习总结

    1.实验目的与要求 (1) 综合掌握java基本程序结构: (2) 综合掌握java面向对象程序设计特点: (3) 综合掌握java GUI 程序设计结构: (4) 综合掌握java多线程编程模型: ...

  7. python 读取一个文件夹下的所jpg文件保存到txt中

    最近需要使用统计一个目录下的所有文件,使用python比较方便,就整理了一下代码. import os def gci(filepath): files = os.listdir(filepath) ...

  8. Eclipse安装配置java项目

    设置智能提示

  9. Bug搬运工-CSCvm33229:Environment summary not available on COS APs

    还是关于温度的问题, Environment summary not available on COS APs CSCvm33229   Description Symptom:From WLC CL ...

  10. oracle 密码过期问题

     密码过期问题: ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;