【发布时间】:2010-06-21 06:32:36
【问题描述】:
我想使用 DataList 和 Flow 标记创建类似的东西:
|-----------------------|
| Title |
|-----------------------|
| [x] Title |
| [x] Title |
| ... |
-------------------------
我有一个表(在 Linq2Sql 中建模)Foo 包含这些字段
int id;
int? parentId;
string title;
Foo Parent;
EntitySet<Foo> Children;
现在,当有一个空父级时,这意味着它是一个顶级类别,如果父级有一个值,它就是类别列表的一部分。
我创建了一个DataList,并使用了一个LinqDataSource,查询如下所示:
<asp:LinqDataSource ID="LinqDataSource1" runat="server"
ContextTypeName="MyNameSpace.FooDataContext"
Select="new (Title, Children)" TableName="Foo"
Where="ParentID = NULL">
</asp:LinqDataSource>
<asp:DataList ID="FooList" runat="server" DataSourceID="LinqDataSource1"
BorderColor="Black" BorderWidth="1px" RepeatLayout="Flow">
<ItemTemplate>
<asp:Label ID="TitleLabel" runat="server" Text='<%# Eval("Title") %>' />
<br />
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="<%# Eval("Children") %>">
<ItemTemplate>
<asp:CheckBox ID="Checks" Text="<%# Eval("Title") %>" runat="server" />
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:DataList>
这显然行不通。 如何在 DataList 项的中继器中使用 Children 集合?
【问题讨论】:
标签: asp.net linq-to-sql