• asp.net mvc int[] 和 string[] 自定义数组绑定


    新建类,int[]数组模型绑定

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Mvc;
    
    namespace Koukou.Admin.ModelBinder
    {
        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();
            }
        }
    }
    

    string[] 数组模型绑定

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Mvc;
    
    namespace Koukou.Admin.ModelBinder
    {
        public class StringArrayModelBinder : 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(new string[] { ",", Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
                // 逗号“,” 和 换行符 作为分隔
            }
        }
    }
    

    在global.asax的Application_Start注册

    protected void Application_Start()
            {
                AreaRegistration.RegisterAllAreas();
    
                RegisterGlobalFilters(GlobalFilters.Filters);
                RegisterRoutes(RouteTable.Routes);
    
    //自定义model绑定
                ModelBinders.Binders.Add(typeof(int[]), new ModelBinder.IntArrayModelBinder());
                ModelBinders.Binders.Add(typeof(string[]), new ModelBinder.StringArrayModelBinder());
            }
    

      

      

  • 相关阅读:
    Git工具简介
    Windows10搭建开发环境----Maven工具安装
    SpringBoot----01.SpringBoot基本配置
    创建一个SpringBoot项目
    软件工程----02. 需求分析
    软件工程----01. 软件工程简介
    JavaSE----11.Java 内部类
    JavaSE----10.Java 面向对象
    JavaSE----09.Java 数组
    前端面试总结
  • 原文地址:https://www.cnblogs.com/gezifeiyang/p/3983280.html
Copyright © 2020-2023  润新知