默认模型联编程序期望使用以下网址:
http:
为了成功绑定到:
public ActionResult Multiple(int[] ids)
{
...
}
而且,如果您希望将其与逗号分隔的值一起使用,则可以编写自定义模型绑定程序:
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();
}
}
然后可以将此模型绑定程序应用于特定的action参数:
public ActionResult Multiple([ModelBinder(typeof(IntArrayModelBinder))] int[] ids)
{
...
}
或全局应用到所有的整数数组参数Application_Start
在Global.asax
:
ModelBinders.Binders.Add(typeof(int[]), new IntArrayModelBinder());
现在您的控制器动作可能如下所示:
public ActionResult Multiple(int[] ids)
{
...
}
[FromUri]
。public ActionResult Multiple([FromUri]int[] ids) {}
(GET)