A seleção múltipla de inicialização obtém valores selecionados no HttpPost
Estou usando issoSeleção múltipla de inicialização e meu problema é que não consigo obter os valores selecionados no HttpPost no asp.net MVC.
Problemas encontrados:
Depois de clicar em Salvar, apenas o primeiro valor selecionado é o presente no modelo. (RESOLVIDO)
Após clicar em Salvar, apenas o primeiro valor selecionado é o presente na lista suspensa.
Sample.chtml:
@model SampleProject.Models.SampleViewModel
@using (Html.BeginForm())
{
@Html.DropDownListFor(model => model.Selected, new SelectList(Model.List, "value", "text"), new { @class = "multiselect form-control", multiple = "multiple" })
<input type="submit" value="Save" />
}
Modelo:
public class SampleViewModel
{
public string[] Selected { get; set; }
public SelectList List { get; set; }
}
Controlador:
public class DashboardController : Controller
{
public ActionResult Sample()
{
SampleViewModel model = new SampleViewModel();
model.List = new SelectList(new List<string>() { "1", "2", "3" });
return View(model);
}
[HttpPost]
public ActionResult Sample(SampleViewModel model)
{
model.List = new SelectList(new List<string>() { "1", "2", "3" });
return View(model);
}
}
Seleção:
Não consigo obter os valores selecionados corretamente no HttpPost
Code Behind / HttpPost: (errado)
Após o HttpPost: (correto)