J'ai une table appelée "Tabel_Items" dans la base de données avec ces domaines: id
, parent
et child
:Comment faire dynamiquement Arbre en asp.net mvc
Je veux générer des balises HTML telles comme ceux-ci:
<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>
Je reçois mes articles avec une requête LINQ et les passer à la vue:
public ActionResult Index()
{
DataClasses1DataContext db = new DataClasses1DataContext();
var items = from i in db.Table_Items
select i;
return View(items);
}
Comment puis-je faire défiler les "éléments" en vue et en faire une liste arborescente?
Je veux une expression lambda pour sélectionner les lignes qui ont "parentId == null" au début. Je tester un code comme celui-ci, mais a une erreur:
@foreach (var i in Model)
{
@Html.DisplayFor(x => i.ItemName.Where(i.ParentId==null));
}
Qu'avez-vous essayé jusqu'à présent? Une partie du problème est la conception de vos données. Votre table doit avoir ces champs: Id, ItemName, ParentId. Et, vous devez créer une relation un-à-plusieurs en utilisant Id comme clé primaire et ParentId comme clé étrangère. – ataravati