ASP.NET MVC 2.0 - IList<T> Casillas de verificación
-
21-09-2019 - |
Pregunta
¿Cuál es la mejor manera de manejar esto:
class Option {
int id;
string name;
}
class QuoteItem
{
IList<Option> options;
}
class QuoteViewModel {
IList<Option> allOptions;
QuoteItem quoteItem;
}
Básicamente, tengo todas las opciones disponibles en allOptions
.Quiero tener una casilla que pone a otro Option
(incluso si es sólo su id
) en el QuoteItem.options
lista cuando está seleccionada.¿Cómo puedo lograr esto?Sería mejor ser un IList<bool>
y se unen después del hecho?
Solución
Te sugiero que te tomes mira este entrada de blog de Phil Haack acerca del modelo de la unión a una lista
Por su situación, usted puede utilizar el modelo simple de la unión a un IEnumerable<int> options
, donde los valores serán la identificación de las opciones seleccionadas.
su entrada vista se verá algo como esto:
<form method="post" action="/QuoteItems/SetOptions">
<input type="hidden" name="options" value="1" />
<input type="hidden" name="options" value="4" />
<input type="hidden" name="options" value="2" />
<input type="hidden" name="options" value="8" />
<input type="submit" />
</form>
El oculto entradas contienen seleccionado optionId s, el nombre de la nota atributo que es el mismo para cada entrada ocultos.El modelo predeterminado cuaderno puede obligar a este a una lista de enteros.
La cosa que usted necesita hacer es agregar / eliminar un oculto opciones de entrada en el lado del cliente, dependiendo de si se selecciona un elemento en su de "todas las opciones", seleccione control.