使用腳本提交集合类时,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());

最新文章

  1. MVVM大比拼之knockout.js源码精析
  2. Scrapy开发指南
  3. 云硬盘error、error deleting、deleting状态(数据库基本操作小记)
  4. JavaScript中的各种宽高属性
  5. 解决stackoverflow打开慢不能注册登录
  6. git查看历史命令
  7. JDBC的批量批量插入
  8. com.service.impl
  9. JS单击隐藏界面元素
  10. hibernate生成查询语句但查不到数据
  11. Monkey Tradition(中国剩余定理)
  12. Identity
  13. WPF(x:Null 使用)
  14. Android开发艺术2之Activity的启动模式
  15. PHP+Redis 不注意这些细节简直就是跳入一个出不来的坑(windows下安装)
  16. Java多线程高并发学习笔记(二)——深入理解ReentrantLock与Condition
  17. vue 线上不支持put方法
  18. spring boot启动后执行方法
  19. [skill] vim 操作多个window
  20. 使用eclipse自动生成WSDL客户端代码

热门文章

  1. 记录集导出到Excel方法
  2. promise学习,多看几次。含node,ES6知识
  3. jmeter的使用---用户变量
  4. AS报错:Class kotlin.reflect.jvm.internal.FunctionCaller$FieldSetter can not access a member of class com.android.build.gradle.tasks.ManifestProcessorTask with modifiers &quot;private&quot;
  5. Java出现NoSuchElementException异常
  6. INCA二次开发-INCACOM
  7. Wx-小程序-组件式开发之Vant
  8. 「JSOI2015」地铁线路
  9. ubuntu14.04安装好Hadoo之后接着安装hbase和介绍常用命令
  10. max=(a&gt;b)?a:b;