我是使用Linq-to-SQL的新手,这就是我问这个问题的原因。我搜索了网站,但似乎无法弄清楚如何做到这一点。
我的问题是:
我有一个使用LINQ to SQL映射的数据库:
表1:PersonalTasks
TaskId
Header
[Content]
IsDone
CreatedDate
表2:评论
CommentId
TaskId
UserId
Comment
CreatedDate
我有一个转发器:
<asp:Repeater ID="PersonalTaskRepeater" runat="server">
<ItemTemplate>
<%#Eval("Header") %>
<%# Eval("Content") %>
Task done: <asp:CheckBox ID="IsDoneCheckBox" runat="server" Checked='<%#Eval("IsDone") %>' /><img src="Images/tick-circle.png" />
Here i want to access the comment table, with the comments related to the taskID
</ItemTemplate>
</asp:Repeater>
我尝试过使用:<%#Eval("Comment.Comment1")%>
,但会抛出此错误:
数据绑定: “System.Data.Linq.EntitySet`1 [[Assistr.Models.Comment, Assistr,版本= 1.0.0.0, 文化=中性, PublicKeyToken = null]]'没有 包含具有名称的属性 '注释'。
我的代码隐藏:
var tasks = db.PersonalTasks.OrderBy(x => x.IsDone).ToList();
PersonalTaskRepeater.DataSource = tasks;
PersonalTaskRepeater.DataBind();
我需要使用2个中继器来做我想做的事情吗? :)
提前致谢:)
//的Mads
答案 0 :(得分:0)
我相信如果你想在同一个转发器中使用东西,你必须准备数据源,以便数据有效地联合起来并使用相同的字段名称。 如果2组数据不同,为什么要将它们放在同一个中继器中呢?你想做什么。