Я чувствую, что мне здесь чего-то не хватает.
У меня 2 интерфейса.Один из них называется IIdentifiable, который определяет существование свойства Id.Вторым действительно может быть все, что также можно идентифицировать.См. Код ниже.
public interface IIdentifiable
{
Guid Id { get; set; }
}
public interface IPerson : IIdentifiable
{
string Name { get; set; }
}
Проблема:
При использовании Html.HiddenFor (или любого другого вспомогательного метода) и модель строго типизирована для IPersonИнтерфейс, я получаю ошибку при доступе к свойствам интерфейса IIdentifiable.Я могу получить доступ и отобразить данные в свойствах IIdentifiable, перейдя непосредственно к Model.Id, но не при использовании лямбда-выражения и обращаясь к модели таким образом.
Я получаю ошибку «Свойство * .IPerson».Идентификатор не может быть найден ".
Это, похоже, имеет место только при использовании механизма просмотра Razor.Я знаю, что это работало с использованием ASP.NET MVC 2 и движка представления WebForms.Я еще не пробовал это на ASP.NET MVC 3 с использованием механизма просмотра WebForms.