Хорошо, я понял это. Благодаря очень точному сообщению здесь
Как предоставить шаблон Editor для IEnumerable ?
Сначала я переименовал шаблон EditorTemplate в StudentClass - не уверен, имеет ли это какое-либо отношение к привязке или нет, но я это сделал.
Во-вторых, измененный шаблон EditorTemplate для связывания с IEnumerable
@model IEnumerable<Class>
var checked = "";
@foreach (Class class in ViewBag.Classes)
{
if (Model != null)
{
Class class = Model.FirstOrDefault(c => c.ClassId.Equals(class.ClassId));
if (class != null)
{
checked = "checked=checked";
}
}
<input type="checkbox" name="Classes" value="@class.ClassId" @checked />
@class.ClassName
}
И я называю шаблон с именем
@Html.EditorFor(m => m.Classes, "StudentClass");
Теперь в методе Post контроллера я могу получить массив Classes (имена флажков).