如何将大数组绑定到小名称?

时间:2013-01-07 15:58:30

标签: c# asp.net-mvc

我上课了:

EmployeeListViewModel,其属性为List<Int32> EmployeeIDs

我需要通过get请求进行转移。

我不希望看到像EmployeeIDs[]=1&EmployeeIDs[]=2 ...

这样的请求

我想指定一个具有此参数短名称的标签

示例:

empl[]=1&empl[]=2

2 个答案:

答案 0 :(得分:1)

您可以使用[Bind]属性修饰控制器操作参数,并指定前缀:

public ActionResult Index([Bind(Prefix = "empl[]")] int[] employeeIDs)
{
    ...
}

现在将正确绑定以下请求:

empl[]=1&empl[]=2

答案 1 :(得分:0)

听起来你正在使用模型绑定,并希望自定义绑定的方式。不幸的是,在Model课程中,我不知道如何使用属性来完成此任务,但您可以使用自定义绑定器完成您想要的任务。

您需要实现IModelBinder界面,然后在Controller的操作方法上使用[ModelBinder]属性。

此处有更多详情:http://dotnetslackers.com/articles/aspnet/Understanding-ASP-NET-MVC-Model-Binding.aspx