私はモデルを持っています。このモデルでは、これらの値が表示されているHTML上で複数の値を選択するためにList<SelectListItem>
を作成しました。これらの値はIList<FormaPagamento>
です。だから、私はモデルに複数の値を追加する必要がありますが、私はこれを行うことはできません。私は複数の値を選択していますが、私がサブミットするときにList<SelectListItem>
は空です。DropDownListForの使い方は複数選択できますか?
どうすればいいですか?
お試しください。
モデル
public class EmpresaModel{
[Required(ErrorMessage="Informe ao menos uma forma de pagamento disponível")]
public List<SelectListItem> formasPagto { get; set; }
}
コントローラ
private List<SelectListItem> getFormasPagto() {
IList<FormaPagamento> lista = fpDAO.findAll();
List<SelectListItem> dropDown = new List<SelectListItem>();
foreach (FormaPagamento x in lista) {
dropDown.Add(new SelectListItem { Text = x.descricao, Value = Convert.ToString(x.id)});
}
return dropDown;
}
public ActionResult add() {
EmpresaModel model = new EmpresaModel();
model.formasPagto = getFormasPagto();
return View(model);
}
public JsonResult addAjax(EmpresaModel model) {
Debug.WriteLine("Formas Pagto: " + model.formasPagto.Count);
return Json(jsonResposta);
}
HTML
@model EmpresaModel
<div class="form-group">
<label for="name" class="cols-sm-2 control-label">Formas de pagamento disponíveis <img src="~/Imagens/required.png" height="6" width="6"></label>
@Html.DropDownListFor(model => Model.formasPagto, Model.formasPagto, new { Class = "form-control", placeholder = "Selecione as formas de pagamento disponíveis", @multiple = true})
@Html.ValidationMessageFor(model => Model.formasPagto)
</div>
非常にいいです、ありがとう! – FernandoPaiva