0
我有一個包含幾列的模式:MVC3從控制器保存數據,查看回控制器
[Display(Name = "Facilities")]
public List<facility> Facilities { get; set; }
[Display(Name = "Accreditations")]
public List<accreditation> Accreditations { get; set; }
我最初填充這些名單從我的控制器:
public ActionResult Register()
{
var viewModel = new RegisterModel();
viewModel.Facilities = m_DBModel.facilities.ToList();
viewModel.Accreditations = m_DBModel.accreditations.ToList();
return View(viewModel);
}
當他們到達我的觀點是他們填充了數據庫記錄(很棒)。然後我通過模型,其顯示這些列表爲複選框,準備用於用戶操縱的部分視圖(基於使用用於循環,而不是foreach循環另一個建議我曾嘗試,並沒有區別):
@model LanguageSchoolsUK.Models.RegisterModel
@foreach (var item in Model.Facilities)
{
@Html.Label(item.name);
@Html.CheckBox(item.name, false, new { id = item.facility_id, @class = "RightSpacing", @description = item.description })
}
當我提交表格,並回到我的控制器結束這次呼叫控制器上的重載寄存器功能:
[HttpPost]
public ActionResult Register(RegisterModel model)
{
if (ModelState.IsValid)
{
// Do stuff
}
return View(model);
}
的問題是包含列表(設施和認證)的模型參數是告訴我,名單爲空。
請有人可以告訴我我做錯了什麼,爲什麼他們不填充我最初通過的集合,並希望有一種方法來要求那些被檢查過的東西?
謝謝。
輝煌的工作完全符合我的要求。謝謝你的幫助! – Yos
哦,是的,描述是一個JavaScript函數採取desc並顯示在彈出。 – Yos
您可以使用HTML5 data- *屬性,而不是有效的:'data_description = item.description'。 –