net mvc dropdownlist drop down bootstrap asp asp.net-mvc drop-down-menu

bootstrap - Poblando ASP.NET MVC DropDownList



menu mvc 5 (7)

Funcionó perfectamente para mí gracias! Lo usé para establecer una relación principal en una subcategoría:

<%= Html.DropDownListFor( model => model.Category.ParentId, new SelectList(Model.Categories, "CategoryId", "Name", Model.Categories.Where(x => x.CategoryId == Model.Category.ParentId).Single()))%>

Jeroen

OK, he estado buscando en Google durante horas y probando todo y no puedo hacer que nada funcione. Estoy aprendiendo MVC usando Sharp Architecture y he generado algunos formularios básicos para crear objetos de Cliente. Quiero completar la lista desplegable de estados con una lista de estados de EE. UU. Y dejar que el usuario elija de esa lista. Puedo rellenar la lista y recuperar el valor (para guardar el cliente), pero cuando voy a editar el cliente, no se selecciona el estado actual del cliente. He establecido el valor seleccionado en la Lista de selección:

<li> <label for="Client_StateProvince">StateProvince:</label> <div> <%= Html.DropDownListFor(c=>c.Client.StateProvince, new SelectList(Model.StateProvinces, "id", "Name", Model.Client.StateProvince), "-- Select State --")%> </div> <%= Html.ValidationMessage("Client.StateProvince")%> </li>

Esto no parece ser lo suficientemente bueno. ¿Qué me estoy perdiendo?


Lo hice de esta manera. Funciona bien.

Controlador

IFarmModelInterface service2 = new FarmModelRepository(); ViewData["Farms"] = new SelectList(service2.GetFarmNames(), "id", "FarmName", "XenApp");

Ver

<%: Html.DropDownListFor(m => m.Farm, (ViewData["Farms"] as SelectList)) %>


Esto es Vista - Controlador MVC

@Html.DropDownListFor(m => m.Entity, new ABC.Models.DropDownPopulate().MyMethod, new { @class = "form-control input-inline input-medium" })

MyMethod Obtener enlace de lista de datos con menú desplegable usando SelectListItems

public List<SelectListItem> MyMethod { get { List<SelectListItem> dropdownList = new List<SelectListItem>(); var items = new DropDown_Bl().GetAll(); foreach (var item in items) { SelectListItem dropdownItem = new SelectListItem(); dropdownItem.Value = item.RnID.ToString(); dropdownItem.Text = item.Description; dropdownList.Add(dropdownItem); } dropdownList.Insert(0, new SelectListItem() { Text = "Please Select", Value = "", Selected = true }); return dropdownList; } }

Método GetAll en Dropdown_Bl : se utiliza para obtener datos como lista de la base de datos

public List<My_Table> GetAll() { var Items = _Context.MyRepository.GetMany(q => q.Area == "ASD").ToList(); return Items ; }


public ActionResult AllUsers() { List<Users> users = userRep.GetUsers(); var listUsers = (from u in users.AsEnumerable() select new SelectListItem { Text = u.UserName, Value = u.UserId.ToString(), Selected = (u.UserId==6) }).AsEnumerable(); ViewBag.ListItems = listUsers; //ViewBag.SelectedItem = 2; return View(); }

En AllUsers.cshtml

<p>@Html.DropDownList("ListItems")</p>


public ActionResult AllUsers() { List<Users> users = userRep.GetUsers(); var listUsers = (from u in users.AsEnumerable() select new SelectListItem { Text = u.UserName, Value = u.UserId.ToString(), Selected = (u.UserId==6) }).AsEnumerable(); // ViewBag.ListItems = listUsers; ViewData["tempEmpList"]=listUsers; return View(); }

Rellenar desplegable

@Html.DropDownList("SelectedEmployee", new SelectList((IEnumerable) ViewData["tempEmpList"], "Id", "Name"))


<%= Html.DropDownListFor(c => c.Client.StateProvince, new SelectList(Model.StateProvinces, "Id", "Name")) %>

y anular ToString () para que StateProvince devuelva Id, es decir:

return Id.ToString();

Esto funciona pero no es una solución perfecta ...

Dennis


<%= Html.DropDownListFor(c => c.Client.StateProvince.Id, new SelectList(Model.StateProvinces, "id", "Name", Model.Client.StateProvince), "-- Select State --")%>

Esto lo hace.

Espero que esto ayude a alguien más.

~ Lee