У меня есть простой класс Category
, чтобы создать таблицу саморекламы.@ Html.DropdownList показать Категория >> Подкатегория >> Подкатегория как текстовое значение
public class Category
{
public int CategoryId{get; set;}
public string Name {get;set;
public int? ParentId {get;set}
public virtual Category Parent {get;set}
public virtual ICollection<Category> Children {get;set;}
}
И создать вид порожден EF имеет неработающую площадь коробки для нового названия категории:
@Html.LabelFor(model => model.Name, new {@class = "control-label"})
@Html.EditorFor(model => model.Name,"", new{@class="form-control"}
и область, предварительно заполнит выбор родительской категории
@Html.LabelFor(model => model.ParentId, "Parent Category", new {@class = "control-label"})
@Html.DropdownList("ParentId", null, new {@class ="form-control})
Это позволяет использовать категории с несколькими вложенными подкатегориями и дополнительными подкатегориями, вложенными под другие подкатегории и т. Д. И т. Д.
Представление create позволяет вам создать новую категорию и назначить родительскую категорию с помощью @Html.DropdownList
, который вытаскивает текстовые значения для всех категорий, но содержит только фактическую категорию или название подкатегории.
Есть ли способ изменить отображаемые значения в @Html.DropdownList
, чтобы отобразить иерархическое дерево вместо одного родительского значения?
Так вместо @Html.Dropdownlist
отображаются «AAA батарей» (значение новой категории родительской категории) он показывает полное значение иерархического родительской категории:
Electronic Supplies >> Batteries >> AAA Batteries
Это, конечно, является категорией имени «Электронные принадлежности» с подкатегорией «Батареи» и подкатегорией под «Аккумуляторы AAA».
Нет ничего из этого, что сделает это. Я опубликовал статью о проекте кода [MVC Custom Select Control] (http://www.codeproject.com/Articles/768069/MVC-Custom-Select-Control) с исходным кодом, показывающим одну возможность. Другие варианты включают создание параметров с текстом родительской категории, перенесенным в текст категории, или динамическое создание дополнительных dropdownlists для дочерних элементов на основе выбора родителя (с использованием jquery и ajax) –
@StephenMuecke спасибо! Пример кода проекта определенно поможет. Я ценю терпение каждого и помогаю со мной, когда я становлюсь глубже в MVC! – bobbyK12