У меня есть таблица под названием «Tabel_Items» в базе данных с этими полями: id
, parent
и child
:Как сделать динамически Дерево в ASP.NET MVC
Я хочу, чтобы генерировать HTML-теги, как эти:
<ul>
<li>parent1
<ul>
<li>child1</li>
<li>child2
<ul>
<li>child21</li>
<li>child22</li>
</ul>
</li>
</ul>
</li>
<li>parent2
<ul>
<li>child3</li>
</ul>
</li>
</ul>
я могу получить элементы с помощью запроса LINQ и передать их мнению:
public ActionResult Index()
{
DataClasses1DataContext db = new DataClasses1DataContext();
var items = from i in db.Table_Items
select i;
return View(items);
}
Как я могу прокрутить «элементы» в поле зрения и сделать из них список деревьев?
Я хочу, чтобы выражение лямбда выбирало те строки, которые сначала имеют «parentId == null». Я проверить код, как это, но есть ошибка:
@foreach (var i in Model)
{
@Html.DisplayFor(x => i.ItemName.Where(i.ParentId==null));
}
Что вы пробовали до сих пор? Часть проблемы - это ваш дизайн данных. Ваша таблица должна иметь следующие поля: Id, ItemName, ParentId. И вы должны создать отношения «один ко многим», используя Id в качестве первичного ключа и ParentId как внешний ключ. – ataravati