Я пытаюсь создать конструктор шаблонов, в котором элементы создаются динамически.
Сложность возникает, когда мне нужно разместить элементы на панели и просто в форме.
моя модель :
public enum TField
{
Edit,
DatePicker,
ComboBox,
DataComboBox,
Memo,
}
public class Field
{
public string FieldLabel { get; set; }
public byte Position { get; set; }
public TField TypeField { get; set; }
public string Value { get; set; }
}
public class Panel
{
public string Caption { get; set; }
public byte Position { get; set; }
public List<Field> Field { get; set; }
}
Я пишу все поля в общем списке, чтобы позже я отображал все элементы
@if (item.TypeComponent != TComponent.Panel)
{
fieldPanel.Add(DeserializeField(item.Component));
}
else
{
if (DeserializePanel(item.Component).Field != null)
foreach (var panel in DeserializePanel(item.Component).Field)
{
fieldPanel.Add(panel);
}
}
для отображения элементов на панели мне нужен еще один l oop с тегом BSCard.
@foreach (var field in fieldPanel)
{
<div class="form-group">
@if (field.TypeField == TField.Edit)
{
<label>@field.FieldLabel</label>
<InputText Id="CouponCode" Class="form-control" @bind-Value="field.Value"></InputText>
}
}
Не могу понять, как показать компоненты на форме и на панели без дублирования циклов?