Asp.net mvc 3 - Encuadernación de modelo personalizado

Tengo un modelo como este

    public string Name { get; set; }

    public IEnumerable<int> ProjectMembersId { get; set; }

El nombre de la propiedad debe vincularse utilizando el código de enlace estándar.

Pero la propiedad ProjectMembersId debe vincularse con mi código personalizado.

e modo que obtuve una clase de DefaultModelBinder y anulé el método SetProperty.

protected override void SetProperty(ControllerContext controllerContext, ModelBindingContext bindingContext, System.ComponentModel.PropertyDescriptor propertyDescriptor, object value)
{
    if (propertyDescriptor.Name == "ProjectMembersId")
    {
        var list = new List<int>(5);

        var form = controllerContext.HttpContext.Request.Form;

        var names = form.AllKeys.Where(x => x.StartsWith("dhxGridObj"));

        foreach (var name in names)
        {
            int i;

            if (int.TryParse(form.Get(name), out i))
            {
                list.Add(i);
            }
        }

        value = list;
    }

    base.SetProperty(controllerContext, bindingContext, propertyDescriptor, value);
}

Bud, el problema es que no se llama al método SetProperty porque el proveedor de valor no contiene un elemento llamado ProjectMembersId.

Tal vez estoy anulando una parte incorrecta del DefaultModelBinder. Entonces, ¿cuál sería la mejor manera de hacerlo?

Respuestas a la pregunta(1)

Su respuesta a la pregunta