开发者

Databinding two sql tables to one repeater

I'm very new to using Linq-to-SQL, that's why I'm asking this question. I've searched the site, but can't seem to figure out how to do this.

My problem is:

I have a database mapped with LINQ to SQL:

Table 1: PersonalTasks

TaskId
Header
[Content]
IsDone
CreatedDate

Table 2: Comments

CommentId
TaskId
UserId
Comment
CreatedDate

I have a repeater:

<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>

I've tried using: <%#Eval("Comment.Comment1")%> but that throws this error:

DataBinding: 'System.Data.Linq.EntitySet`1[[Assistr.Models.Comment, Assistr, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]' does not contain a property with the name 'Comment'.

My code-behind:

var tasks = db.Persona开发者_JAVA百科lTasks.OrderBy(x => x.IsDone).ToList();
                PersonalTaskRepeater.DataSource = tasks;
                PersonalTaskRepeater.DataBind();

Do I need to use 2 repeaters to do what I want to do or? :)

Thanks in advance :)

//Mads


I believe If you wanted stuff in the same repeater, you would have to prep the datasource so that the data were effectively unioned and the same field names used. IF the 2 sets of data are different then why have them in the same repeater? What are you trying to do.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜