¿Cómo selecciono elementos en mi lista desplegable desde el controlador?
En mi aplicación, tengo una lista de selección múltiple que se llena con una lista de frutas.
Código:
public ActionResult Index(int? userId)
{
viewModel.FruitSelectList = viewModel.FruitList.Select(item => new SelectListItem { Value = item.iFruitID.ToString(), Text = item.sFruitName }).ToList();
return View();
}
Para referencia, así es como se ve mi modelo:
public class Fruit
{
public int FruitID {get; set;}
public string FruitName {get; set;}
public int UserID {get; set;}
}
Necesito devolver todos los elementos en la base de datos que coincidan con un userId
.
Código:
var result = (from u in db.Fruit where u.UserID == userId select u).ToList();
Pero, ¿cómo muestro el result
como elementos seleccionados en mi lista desplegable?
davy.ai
Para mostrar el resultado como elementos seleccionados en su lista desplegable, es necesario recorrer el
FruitSelectList
y establecer la propiedadSelected
de cada elemento en función de si coincide con elresult
. Aquí hay un ejemplo de código:Tenga en cuenta que debe asegurarse de que
result
esté declarado y poblado antes de llamar al métodoIndex()
. Además, esto asume queresult
es una lista de objetosFruit
con la propiedadFruitID
que coincide con la propiedadValue
delSelectListItem
.