Estoy desarrollando una aplicación MVC que contiene la lista desplegable multiselect. Quiero obtener las identificaciones de múltiples elementos seleccionados del menú desplegable.¿Cómo pasar elementos seleccionados de la lista multiselect al controlador?
que tienen el código en el modelo
namespace CustomerDEMOForMultiselect.Models
{
public class Customer
{
private int _ID;
private string _Name;
private double _Amt;
public int ID { get { return _ID; } set { _ID = value; } }
public string Name { get { return _Name; } set { _Name = value ; } }
public double Amt { get { return _Amt; } set { _Amt = value; } }
}
}
y el código del controlador es
namespace CustomerDEMOForMultiselect.Controllers
{
public class CustomerController : Controller
{
public ActionResult DisplayCustomer()
{
Customer oCustomer = new Customer();
List<Customer> CustomersList = new List<Customer>();
CustomersList.Add(new Customer() { ID = 1, Name = "TestCustomer1", Amt = 123 });
CustomersList.Add(new Customer() { ID = 2, Name = "TestCustomer2", Amt = 234 });
CustomersList.Add(new Customer() { ID = 3, Name = "TestCustomer3", Amt = 324 });
ViewBag.CustList = CustomersList;
return View(CustomersList);
}
}
}
no estoy recibiendo lo que escribir en la vista, he tratado de código diferente pero estoy conseguir confuso .. .
Códigoen Vista:
@model CustomerDEMOForMultiselect.Models.Customer
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<title>DisplayCustomer</title>
</head>
<body>
<div>
@using (Html.BeginForm())
{
@Html.DropDownListFor(v => v.ID, new MultiSelectList(ViewBag.CustList,"ID","Name",ViewBag.ID))
<br />
<input type="submit" value="Submit" />
}
</div>
</body>
</html>
Quiero mostrar el CustomerName list
en la vista, por lo que puedo seleccionar varios nombres de clientes y pasar los ID de clientes seleccionados de nuevo al controlador. ¿Cómo hacer eso?
¿Puedes publicar lo que has intentado hasta ahora en la vista? ¿Su referencia hace referencia a 'CustomerList' como modelo en el formato esperado? Por ejemplo '@model IList'. También debe declarar la lista como 'IList ' en lugar de 'List ' en su código. –
Nope
He usado el siguiente código. '@model CustomerDEMOForMultiselect.Models.Customer @ { Layout = null; }
}
que añadió que el código a su pregunta, más fácil de leer :) – Nope