我開發一個管理員工隊伍的應用程序,我用Razor使用MVC4 Asp.net。MVC 4綁定多個模型asp剃鬚刀
在我的模型中,我有兩個班級(誰是我的數據庫中的表格)和業餘(培訓人員)。
在我的應用程序中,我可以創建一個「編組」,我想添加一個「形成」(培訓師)列表,但我不知道我必須做什麼。 我認爲最好的解決方案是複選框列表,我成功地用foreach顯示了我的複選框列表,但我不知道如何讓選定複選框的結果傳入我的控制器。
我看到很多使用「CheckBoxList」的教程,我也嘗試使用,但是我使用ViewBag來填充它,但他們沒有解釋如何將它與viewbag一起使用。
現在我測試一個雙列表框與兩個按鈕(添加和刪除),但這是行不通的。
那麼,有人可以幫助我找到並解釋我必須怎麼做,好的或最好的解決方案?
我很抱歉我的英語,我是一個法國女孩。
我的一個解決方案是這樣的: 我的控制器:
public ActionResult Create()
{
ViewBag.formateurListe = (from unFormateur in db.salarie
where unFormateur.sFormateur == true
select unFormateur).AsEnumerable()
.Select(m => new SelectListItem
{
Text = m.sNom.ToString() + " " + m.sPrenom.ToString(),
Value = m.sId.ToString()
}).ToList();
return View();
}
[HttpPost]
public ActionResult Create(formation formation, IEnumerable<SelectList> formateurList)
{
if (ModelState.IsValid)
{
db.formation.Add(formation);
foreach (var unSal in formateurList)
{
formateur f = new formateur();
f.ftIdFormation = formation.fId;
f.ftIdSalarie = (int)unSal.SelectedValue;
db.formateur.Add(f);
}
db.SaveChanges();
return RedirectToAction("Index");
}
return View(formation);
}
筆者認爲:
@model MvcAppGestionRH.Models.formation
@using (Html.BeginForm("Create", "Formation", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
@Html.ValidationSummary(true)
@Html.Label("Libelle")
@Html.EditorFor(model => model.fLibelle)
@Html.ValidationMessageFor(model => model.fLibelle)
<label id="fFormateur">Formateur</label>
@Html.ListBox("formateurListe", ViewData["formateurListe"] as SelectListItem[], new {Multiple = "multiple"})
<input type="button" value="+" name="add" />
<select name="select" size="7" >
</select>
<input type="submit" value="Créer" />
}
隨着腳本:
$(function() {
$("#Add").click(function() {
$("select").add($('fFormateurListe').selected);
});
});
最好是,如果你能告訴我們你的代碼... –