Проблема заключается в том, что я пытаюсь создать настраиваемый атрибут поля модели в asp.net mvc3, который должен получить доступ к другому полю модели. Назван, например, «PersonId».Как получить доступ к другому полю модели в пользовательском атрибуте поля модели?
Так у меня есть модели, как этот
public class PersonWoundModel : IAppointmentModel
{
public int PersonId { get; set; }
[CustomAttribute("PersonId")]
public FillInList Positions { get; set; }
}
и я пользовательский атрибут
[AttributeUsage(AttributeTargets.Field | AttributeTargets.Property, AllowMultiple = false)]
public class CustomAttribute : Attribute, IMetadataAware
{
public int PersonId { get; private set; }
public CustomAttribute(bool allowDelete, bool allowEdit, string htmlHelpers)
{
//i need to get a PersonId here somehow.. reflection or any other method.
}
}
так basicaly мне нужно получить aPersonId поле в [CustomAttribute] для дальнейшего использования. Я думал об использовании отражения, но понятия не имею, как получить там объект модели. спасибо за любую помощь ребятам.
можно ли как-нибудь получить объект модели? – Mindaugas
как я уже сказал - нет, а есть где? :) в конструкторе? - как я сказал, он будет вызываться, когда вы будете использовать отражение над типом вашей модели. Если вам очень нужен * любой * объект, просто создайте один, используя «новый» – Bond
, этот атрибут можно использовать в любой точке любой модели. Мне не нужен какой-либо объект :) Мне нужен тот, где PersonId есть :). я имею в виду, можно ли получить объект модели в любом месте класса атрибутов :) – Mindaugas