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());
            }
    

      

      

  • 相关阅读:
    关于栈部分知识点
    面向对象--四则运算
    转型第一步
    输入输出文件版本——计算题
    作业二
    2017《面向对象程序设计》课程作业一
    第四次作业
    light oj 1079
    Light oj 1080
    Codeforces 486B OR in Matrix【水题】
  • 原文地址:https://www.cnblogs.com/gezifeiyang/p/3983280.html
Copyright © 2011-2022 走看看