У меня есть следующий пользовательский атрибут
[AttributeUsageAttribute(AttributeTargets.Property, AllowMultiple = false)]
public class ColumnAttribute : Attribute
{
public ColumnAttribute(int size)
{
Class = "col-md-" + size.ToString();
}
public string Class { get; set; }
}
и общий шаблон редактора, который перебирает все свойства в модели и выплевывает требуемую разметку:
@model dynamic
@foreach (var prop in ViewData.ModelMetadata.Properties)
{
if (prop.TemplateHint == "HiddenInput")
{
@Html.Hidden(prop.PropertyName)
}
else
{
//Access properties attribute and use it to populate class
<div class="">
@Html.Editor(prop.PropertyName)
</div>
}
}
I 'я пытаюсь получить доступ к пользовательскому атрибуту ColumnAttribute для свойств, которые его имеют, чтобы я мог добавить данный класс к редактору, обертывающему div.
Я пробовал:
var Member = ViewData.ModelMetadata.ContainerType.GetMember(ViewData.ModelMetadata.PropertyName);
var attr = Member[0].GetCustomAttribute<ColumnAttribute>();
Но не увенчался успехом, так как«ViewData.ModelMetadata.ContainerType» имеет значение null.
У кого-нибудь есть идеи?(Заранее большое спасибо)