MVC集合ModelBinder
使用腳本提交集合类时,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的更多相关文章
- MVC扩展ModelBinder使类型为DateTime的Action参数可以接收日期格式的字符串
		原文:MVC扩展ModelBinder使类型为DateTime的Action参数可以接收日期格式的字符串 如何让视图通过某种途径,把符合日期格式的字符串放到路由中,再传递给类型为DateTime的控制 ... 
- MVC扩展ModelBinder,通过继承DefaultModelBinder把表单数据封装成类作为action参数
		把视图省.市.街道表单数据,封装成一个类,作为action参数.如下: action方法参数类型: namespace MvcApplication1.Models{ public class ... 
- 蒋金楠How ASP.NET MVC Works?[持续更新中…]
		一.ASP.NET + MVC IIS与ASP.NET管道 MVC.MVP以及Model2[上篇] MVC.MVP以及Model2[下篇] ASP.NET MVC是如何运行的[1]: 建立在“伪”M ... 
- How ASP.NET MVC Works?
		原文地址:http://www.cnblogs.com/artech/archive/2012/04/10/how-mvc-works.html?ADUIN=7783008&ADSESSION ... 
- How ASP.NET MVC Works ? (Artech)
		一.ASP.NET + MVC IIS与ASP.NET管道 MVC.MVP以及Model2[上篇] MVC.MVP以及Model2[下篇] ASP.NET MVC是如何运行的[1]: 建立在“伪”MV ... 
- Datatables 在asp.net mvc中的使用
		前言 最近使用ABP(ASP.NET Boilerplate)做新项目,以前都是自己扩展一个HtmlHelper来完成同步/异步分页,但是有个地方一直不满意,排序太费劲. 以前接触过一点点的Datat ... 
- ASP.NET MVC Framework
		ASP.NET MVC Framework是微软在ASP.NET中所添加的一组类库,这组类库可以使用Model-View-Controller的设计模式来开发ASP.NET的应用程序.它与现有的ASP ... 
- Datatables 在asp.net mvc
		Datatables 在asp.net mvc中的使用 前言 最近使用ABP(ASP.NET Boilerplate)做新项目,以前都是自己扩展一个HtmlHelper来完成同步/异步分页,但是有个地 ... 
- 快速入门系列--WebAPI--04在老版本MVC4下的调整
		WebAPI是建立在MVC和WCF的基础上的,原来微软老是喜欢封装的很多,这次终于愿意将http编程模型的相关细节暴露给我们了.在之前的介绍中,基本上都基于.NET 4.5之后版本,其System.N ... 
随机推荐
- 大数据-hdfs技术
			hadoop 理论基础:GFS----HDFS:MapReduce---MapReduce:BigTable----HBase 项目网址:http://hadoop.apache.org/ 下载路径: ... 
- import matplotlib.pyplot as plt出错
			>>>import matplotlib.pyplot as plt /usr/lib/python2.7/dist-packages/matplotlib/font_manager ... 
- 分析AppClassLoader,ExtClassLoader 和URLClassLoader 的关系
			测试代码: class Hello { public String str = "Hello World"; public void fun() { System.out.prin ... 
- Go_栈
			1. 栈的介绍 2. 栈的应用 3. 栈入门 package main import ( "fmt" "errors" ) //使用数组来模拟一个栈的使用 ty ... 
- 学会C#可以做什么
			C#基于.NET Framework 和 .NET CORE平台 Client/Server 客户端/服务端 windows桌面应用程序 winform 2D WPF 3D Browser/Se ... 
- net core调用MimeKit发送QQ邮件
			一.在QQ邮箱内申请授权码,具体参考请官方文档 二.具体代码 public void TestSendMailDemo() { MimeMessage message = new MimeMessag ... 
- Codeforces Gym 102392F Game on a Tree (SEERC2019 F题) 题解
			题目链接:https://codeforces.com/gym/102392/problem/F 题意:被这题题意坑了很久,大意是说有一棵根为 \(1\) 的树,每个节点初始都是白色, \(Alice ... 
- Go 后端主要做什么
			漫谈 Go 语言后端开发 :https://blog.csdn.net/u010986776/article/details/87276303 Golang 资深后端工程师要了解的知识:https:/ ... 
- MyBatis操作mysql数据库查询出来是时间戳的问题
			在pojo类中用java.sql.Date接收就能正常显示 
- redis 字符串操作
			redis 字符串创建SET操作 127.0.0.1:6379> set number "10086" OK 127.0.0.1:6379> set book &quo ... 
