Класс не поддерживает ни одного такого свойства для динамического управления этими вещами. Один из способов реализации этого заключается в следующем:
Мой метод ActionResult будет похож на (рассмотрим это как пример данных):
DataSource model = new DataSource();
model.MyList = new List<DataSource>();
var data = new DataSource()
{
Id = 1,
Name = "test"
};
model.MyList.Add(data);
return View(model);
Это вернет данные в представление. И ваш вид должен выглядеть примерно так:
@model MVCApp.Models.DataSource
@if (Html.DisplayNameFor(x => x.Name).ToString() == "text")
{
@Html.TextBoxFor(model => model.Name)
}
@if (Html.DisplayNameFor(x => x.Phone).ToString() == "text")
{
@Html.TextBoxFor(model => model.Phone)
}
@if (Html.DisplayNameFor(x => x.Active).ToString() == "checkbox")
{
@Html.CheckBoxFor(model => model.Active)
}
@if (Html.DisplayNameFor(x => x.MyList).ToString() == "dropdown")
{
@Html.DropDownListFor(m => m.Id,
new SelectList(Model.MyList.Select(x=>x.Name)),
"-- Select --")
}
Это сработало для меня.
Вам нужно создать свой собственный помощник HTML, чтобы добиться этого более эффективно.
Дайте мне знать, если это поможет!