データベースに「Tabel_Items」というテーブルがあり、次のフィールドがあります: id
、parent
、およびchild
:
次のような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));
}