У меня есть модель с enum
public enum Gender
{
Male,
Female,
Unspecified
}
public class FooClass
{
public Gender UserGender {set; get;}
}
Поскольку этот Gender
может использоваться в других классах, я хотел создать для него EditorTemplate и запросить редактор в представлении создания/редактирования:
@Html.EditorFor(model => model.UserGender)
После этого я создал частичное представление, расположенное в Views/Shared/EditorTemplates/Gender.cshtml
. В шаблон я добавил кое-что только для тестирования, например:
@model TestProject.Models.Entity.Gender
@Html.TextBox("")
or
@model TestProject.Models.Entity.Gender
Hello...
но все, что я получаю, это исключение:
Элемент модели, переданный в словарь, имеет значение null, но для этого словаря требуется ненулевой элемент модели типа TestProject.Models.Entity.Gender.
Это то, как работают шаблоны редактора, или я полностью сбился с пути?
изменить:
Если я удалю файл шаблона (Gender.cshtml
), я получу текстовое поле в качестве редактора, и никаких исключений не будет.
Кроме того, это для представления Create
, и в контроллере я не передаю ему объект. Я просто звоню return View();
FooClass
скорее всего нулевая. - person Mat J   schedule 07.12.2013Nullable<TestProject.Models.Entity.Gender>
- person Grundy   schedule 07.12.2013