zoukankan      html  css  js  c++  java
  • 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());
            }
    

      

      

  • 相关阅读:
    网红面试题['1','2','3'].map(parseInt)解析
    微信小程序——评论点赞功能
    微信小程序背景音频播放在6.7.2微信版本兼容
    微信小程序之音频播放
    jquery判断是否为空
    自定义单选按钮
    AJAX防重复提交
    dedecms 开发问题总结及解决方案
    程序员面试被问到“三次握手,四次挥手”怎么办?
    问题:The project cannot be built until build path errors are resolved
  • 原文地址:https://www.cnblogs.com/gezifeiyang/p/3983280.html
Copyright © 2011-2022 走看看