Я озадачен этой проблемой, и я не уверен, является ли это моим непониманием структуры MVC, платформы .NET, или чем.Но некоторые объяснения из любого угла будут оценены здесь.
Что я пытаюсь сделать: использовать привязку модели ASP.NET MVC3 для визуализации элементов управления HTML в представлении.В частности, я пытаюсь привязать интерфейс, а не конкретный класс.
Ошибка: ArgumentException "Свойство [бла] не найдено."генерируется при загрузке страницы.
Код:
Interface IFoundation
{
int Id { get; set; }
}
Interface IChild: IFoundation
{
string Name { get; set; }
}
Class Concrete: IChild
{
int Id { get; set; }
string Name { get; set; }
}
Представление:
@model IChild
@Html.EditorFor(x => x.Id)
Когда я пытаюсь загрузить представление, ArgumentException выбрасывается извызовите EditorFor (), сообщив, что свойство Id не найдено.Однако, если я вместо этого связываюсь с классом Concrete, связывание работает нормально.
Так кто-нибудь знает, почему EditorFor () не сможет разрешить унаследованное свойство из базового интерфейса?