@Html.CheckBox("orderNumbers", new { value = 1 })
@Html.CheckBox("orderNumbers", new { value = 2 })
@Html.CheckBox("orderNumbers", new { value = 3 })
@Html.CheckBox("orderNumbers", new { value = 4 })
@Html.CheckBox("orderNumbers", new { value = 5 })
[HttpPost]
public ActionResult MarkAsCompleted(IEnumerable<int> orderNumbers) { }
[HttpPost]
public ActionResult MarkAsCompleted(IEnumerable<string> orderNumbers) { }
Si utilizo la primera firma en mi método de acción, obtengo un IEnumerable
vacío.Vincular casillas de verificación a matriz int/enumerable en MVC
Si utilizo la segunda firma, recibo los valores pero también recibo un valor falso para los valores no seleccionados (debido al patrón MVCs de sombrear todas las casillas de verificación con un campo oculto).
p. Ej. Voy a recibir algo como orderNumbers = { "1", "2", "false", "4", "false" }
¿Por qué no puedo obtener la lista de números?
De hecho, por supuesto que sí. ¡Qué idiota! Había asumido erróneamente que habrían hecho algo inteligente en la carpeta de modelo para ignorar los valores falsos si no pudieran vincularse al tipo solicitado. – fearofawhackplanet