博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MVC自动绑定整数数组
阅读量:6851 次
发布时间:2019-06-26

本文共 930 字,大约阅读时间需要 3 分钟。

  昨天恰好遇到这个问题,stackoverflow上已经有人回答过了,拿过来在这里做个笔记。当然下面的例子可以修改,我比较喜欢使用ImodelBinder

自定义模型绑定器

public class IntArrayModelBinder : DefaultModelBinder{    public override object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)    {        var value = bindingContext.ValueProvider.GetValue(bindingContext.ModelName);        if (value == null || string.IsNullOrEmpty(value.AttemptedValue))        {            return null;        }        return value            .AttemptedValue            .Split(',')            .Select(int.Parse)            .ToArray();    }}

 使用方法

    [HttpPost]        public ActionResult ActionName([ModelBinder(typeof(IntArrayModelBinder))]int[] arr)        {              //TODO...        }

 虽然在stackoverFlow中没有提到,但是这样还是非常的不智能,我们想要这样:

[HttpPost]        public ActionResult ActionName(int[] arr)        {              //TODO...        }

怎么办呢,其实非常简单就是在Application_Start()注册一下自定义的绑定器就可以了。

 

转载地址:http://ferul.baihongyu.com/

你可能感兴趣的文章
19条小技巧让你快速上手Ubuntu 11.04
查看>>
YOLT:将YOLO用于卫星图像目标检测
查看>>
c#中ref和out 关键字
查看>>
企业级应用与互联网应用的区别
查看>>
软件测试入门随笔——软件测试基础知识(七)
查看>>
Spring Boot快速入门(三):依赖注入
查看>>
STL里的算法
查看>>
CAAnimation动画/CAAnimation Group
查看>>
iPhone开发 - 常用库
查看>>
Orchard模块开发全接触1:起步
查看>>
黄聪:ionic使用ion-nav-bar设置了bar-positive类但在安卓Android设备中无法置底
查看>>
[Windows Phone]AnimationHelper管理分散的Storyboard
查看>>
[产品设计]我对移动互联网产品的观点
查看>>
理解和上手Redux
查看>>
安装office2016 64位时提示64位与32位的office程序不兼容,在系统是64位的情况下,由于应用的需要,必须装64位的office,怎么办...
查看>>
6.1指针的概念?
查看>>
格林威治时间(时间戳)转换成标准时间
查看>>
OpenGL中各种坐标系的理解[转]
查看>>
iOS - 正则表达式判断邮箱、身份证..是否正确
查看>>
linux基础—课堂随笔04_文件查找和压缩
查看>>