Я использую фреймворк twitter bootstrap, поэтому для того, чтобы получить методы EditorFor и DisplayFor для вывода того, что мне нужно, я создал настраиваемые шаблоны для каждого из типов, таких как строка, текст, пароль и т.д. Для моей страницы входа мне нужна функция RememberMe bool, как и раньше, я создал следующий шаблон и ввел в Boolean.cshtml:
@model bool
<div class="control-group">
<div class="controls">
<label class="checkbox">
@Html.CheckBoxFor(m => m, new {@class = "checkbox"})
@Html.LabelFor(m => m)
</label>
</div>
</div>
Довольно просто, но когда я использую:
@Html.EditorFor(m => m.RememberMe)
Я получаю исключение, говорящее, что значение, базирующееся на басу, не может иметь значение null:
The model item passed into the dictionary is null, but this dictionary requires a non-null model item of type 'System.Boolean'.
Что мне не хватает? Похоже, это должно быть прямо. Поле объекта модели выглядит следующим образом:
[Display(Name = "Remember me?")]
public bool RememberMe { get; set; }
Спасибо.
UPDATE:. Похоже, что в конечном итоге это вопрос создания пустого объекта модели представления и передачи его в представление вместо того, чтобы позволить MVC создать его самостоятельно.