這個帖子IEnumerable model property in an ASP.NET MVC 3 Editor Template,我也有類似的IEnumerable的財產與MVC3 EditorTemplate
型號
public class Student
{
public int StudentId { get; set; }
public string StudentName{ get; set; }
//FYI..Its virtual because of EF relationship
public virtual ICollection<Class> Classes{ get; set; }
}
public class Class
{
public int ClassId { get; set; }
public string ClassName{ get; set; }
}
視圖 - EditStudent
@model Student
@Html.TextBoxFor(m => m.StudentName)
//I get the error for following..see below
@Html.EditorFor(m => m.Classes);
學生/ EditorTemplates /類
@model Class
<div>
@*checkbox here*@
@Html.LabelFor(x => x.ClassName)
</div>
控制器
public ActionResult EditStudent(int id)
{
ViewBag.Classes = repository.GetClasses();
Student student = repository.GetStudent(id);
return View("EditStudent", student);
}
錯誤觀語句@ Html.EditorFor(M => m.Classes);是...
模型項傳入字典的類型爲 'System.Collections.Generic.HashSet`1 [Class]',但該字典 需要一個'Class'類型的模型項。
基本上,我試圖實現的是顯示所有類旁邊的複選框可用的列表(我還沒有達到那部分代碼)。然後檢查學生的所有課程是否已註冊並允許更改選擇。
- 如何顯示給定型號的複選框列表。
- 我應該將EditorTemplate綁定到ViewBag.Classes(How?)還是?
- 我需要在Post ActionMethod中獲取選中的複選框值。
- 我看了一些建議那些建議創建CheckBoxListHelper,但應該可以使用EditorTemplate,因爲我需要顯示一個簡單的列表。
請建議。謝謝。