New class, int[] array model binding
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[] Array Model binding
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); Comma "," and line break as Delimited}}}
Register at Global.asax's Application_Start
protected void Application_Start () { arearegistration.registerallareas (); Registerglobalfilters (globalfilters.filters); RegisterRoutes (routetable.routes);//Custom Model binding ModelBinders.Binders.Add (typeof (Int[]), new Modelbinder.intarraymodelbinder ()); ModelBinders.Binders.Add (typeof (String[]), new Modelbinder.stringarraymodelbinder ());
ASP. NET MVC int[] and string[] Custom array bindings