(В ответ на замечания выше ...)
Просто используйте свойство на вложенной модели. Для одного экземпляра, это будет что-то вроде этого:
@Html.DisplayNameFor(model => model.SomeLicense.SomeProperty)
Для коллекции случаев, когда материнская модель имеет коллекцию вложенной модели, вы можете обратиться к экземпляру в коллекции:
@Html.DisplayNameFor(model => model.SomeLicenses.First().SomeProperty)
может появиться, что вызов First()
может потерпеть неудачу в том случае, если есть нулевые элементы, но никогда на самом деле не вызывает First()
в этом случае. Сама эта ссылка используется только каркасом для того, что я мог бы назвать «некоторым обманом отражения», чтобы получить информацию о типе, чтобы он мог ссылаться на атрибуты этого свойства.
Вы должны использовать Reflection для получения данных атрибутов. Можете ли вы сказать, какой атрибут вы используете? 'DisplayName' или' Display' нарушают ваше свойство модели? –
Есть ли какое-либо отношение между «Клиентом» и «Лицензией»? То есть, где-то в иерархии свойств объекта «Клиент» есть объект «Лицензия»? Если это так, вы можете перейти к следующему: '@ Html.DisplayNameFor (model => model.SomeLicense.SomeProperty)' – David
@teovankot 'modelLib.Licence' имеет 2 свойства' Name' и 'End', каждая из которых имеет' [Display (Name = "Something")] ' – Mehdiway