Cuadros de texto creados dinámicamente no vinculados al modelo

Mi modelo de vista contiene una lista de cadenas:

public class SupplierViewModel { public Supplier Supplier { get; set; } public List Numbers; } 

El usuario puede agregar cualquier número de cadenas en la vista:

  
@Html.LabelFor(model => model.Numbers)
@for (int i = 0; i < Model.Numbers.Count; i++) {
@Html.TextBoxFor(m => m.Numbers[i])
}

Esto se hace en el lado del cliente con jquery:

 var container = $('#allNumbers'); $('#addNumber').click(function () { var index = container.children().length; var clone = $('#newNumber').clone(); clone.html($(clone).html().replace(/\[#\]/g, '[' + index + ']')); container.append(clone.html()); }); 

Mi problema es que ninguna de las cadenas agregadas dinámicamente se envía de vuelta al controlador, ni siquiera las que tienen el nombre “Números [i]”. ¿Que me estoy perdiendo aqui?

Numbers es un campo y DefaultModelBinder no puede establecer el valor de un campo. Necesitas convertirlo en una propiedad agregando getters / setters

 public List Numbers { get; set; }