-2

我在数据库中有一个名为“Tabel_Items”的表,其中包含以下字段:id、、parentchild

在此处输入图像描述

我想生成 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);
}

如何遍历视图中的“项目”并从中创建树列表?


我想要一个 lambda 表达式来选择那些首先具有“parentId==null”的行。我测试这样的代码,但有一个错误:

@foreach (var i in Model)
{
        @Html.DisplayFor(x => i.ItemName.Where(i.ParentId==null));
}
4

1 回答 1

0

我解决了我的问题。谢谢我:

<ul>
@foreach (var x in Model.Where(f => f.ParentId == null))
{
    <li>
        @Html.DisplayFor(f => x.ItemName)
        <ul>
            @foreach (var y in Model.Where(c => c.ParentId == x.Id))
            {
                <li>
                    @Html.DisplayFor(c => y.ItemName)
                    <ul>
                        @foreach (var z in Model.Where(c => c.ParentId == y.Id))
                        {
                            <li>@Html.DisplayFor(c => z.ItemName)</li>
                        }
                    </ul>
                </li>
            }
        </ul>
    </li>
}
</ul>
于 2015-12-22T20:20:26.697 回答