Это должно быть довольно просто, но у меня есть небольшая проблема. Я генерирую элементы управления динамически, и каждый элемент управления может иметь свои атрибуты html (data-blah = "blah" и т. Д.). Я подумал, что могу сохранить атрибуты в словаре, а затем добавить этот словарь в помощник HTML в представлении.
foreach (var prop in props)
{
var PropertyToRender = Model.PropertiesToRender.Where(x => x.Key == prop.Key.Name).ToList();
if (PropertyToRender.Any())
{
var field = PropertyToRender.First().Value;
if (field.Tag == "input")
{
<div class="m-form--group m-form--group-inset">
<label>@(prop.Value.Name ?? prop.Key.Name)</label>
@Html.TextBox(prop.Key.Name, prop.Key.GetValue(Model), field.Attributes.ToStrng())
@Html.ValidationMessage(prop.Key.Name)
</div>
}
}
}
Я использую отражение, чтобы получить свойства модели props
, затем поиск PropertiesToRender
, чтобы увидеть, нужно ли отображать свойства модели. Наконец, атрибуты html находятся в field.Attributes
. Мне просто нужен способ визуализации атрибутов HTML, все остальное работает нормально. Спасибо