У меня есть следующий код на мой взгляд:Html.TextBoxFor работает, но EditorFor вызывает ошибку - почему?
@model MyDomain.ViewModels.EditCapacityViewModel
`....
@Html.EditorFor<Capacity, >(m => m.Capacity.NumberOfWeeks)
Это мой ViewModel - прямо пройти к моей модели класса
public class EditCapacityViewModel
{
public Capacity Capacity { get; set; }
}
Мои Класс мощности модели:
[Display(Name="Number of Weeks")]
[DataType(DataType.Date)]
public virtual int NumberOfWeeks { get; set; }
Используя приведенный выше код, я получаю ошибку: Элемент модели, переданный в словарь, имеет тип «System.Int32», но для этого словаря требуется элемент модели типа «System.String».
Если я конвертирую EditorFor в TextBoxFor, он работает.
Я понятия не имею, почему это не работает. Что я делаю не так?
Извините, моя ошибка в исходном вопросе. Да, у меня есть код, который вы выделили, и я все еще получаю сообщение об ошибке. В DataType было некоторое тестирование. Я хочу, чтобы это было int. – Urkel
@Urkel: почему 'NumberOfWeeks' является типом даты? Для меня это не имеет смысла. Не могли бы вы объяснить, что вы пытались сделать? –
Нет, NumberOfWeeks - тип int. – Urkel