Эту проблему немного сложно объяснить, поэтому я попытаюсь привести пример. Скажем, у меня есть следующий тип:
public class FieldResult<T> {
public Field Field { get; set; }
public T Answer { get; set; }
public FieldResult(Field field) {
Field = field;
}
}
Теперь скажем, у меня есть следующая модель представления:
public class Form {
public IList<FieldResult<object>> Results { get; set; }
public Form(IList<Field> fields) {
Results = fields.Select(f => new FieldResult<object>(f)).ToList();
}
}
Если я скажу следующее в представлении:
@foreach (var result in Model.Results) {
@Html.EditorFor(m => result, "CheckBoxField")
}
Теперь предположим, что у меня есть следующий шаблон редактора CheckBoxField:
@model FieldResult<bool>
@Html.CheckBoxFor(m => m.Answer)
Все компилируется нормально, но во время выполнения я получаю следующую ошибку:
Элемент модели, переданный в словарь, имеет тип «FieldResult
1[System.Object]', but this dictionary requires a model item of type 'FieldResult
1[System.Boolean]».
Я был бы признателен, если бы кто-нибудь мог сказать, возможно ли это, и, возможно, предложить способ сделать это. Спасибо