2014-12-06 29 views
1

我有以下LINQ語句來編譯和作品:LINQ:選擇連接表*然後在中繼評估他們

var X= (from r in DBTableR 
     join t in DBTableT on r.TID equals t.ID 
     join u in DBTableU on r.UID equals u.ID 
     select new { r, t, u }).ToList(); 
repeater1.DataSource = X; 
repeater1.DataBind(); 

現在,因爲查詢的格式會看起來像X.Object1.r或X.Object1.u

如何評估這從asp.net代碼? (類似於以下標籤中的TEXT字段)

<asp:Label ID="lbl" runat="server" Text=**<%# Eval() %>**></asp:Label> 

謝謝!

回答

0

可以綁定像這樣: -

<asp:Label ID="lbl" runat="server" Text='<%# Eval("r.YourProperty") %>'></asp:Label> 

<asp:Label ID="lbl2" runat="server" Text='<%# Eval("t.YourProperty") %>'></asp:Label> 

等..

這裏,YourProperty將要與相應的控件綁定的r,t,u對象中的屬性。

剛例如,考慮一下這個對象我已經綁定到中繼器控制及其標記代碼: -

var result = from e in emp1 
      join d in deps 
      on e.DeptId equals d.DeptId 
      select new { e, d }; 
rptTest.DataSource = result; 
rptTest.DataBind(); 

下面是標記代碼: -

<asp:Repeater ID="rptTest" runat="server"> 
    <ItemTemplate> 
     <asp:Label ID="lblTest" runat="server" Text='<%# Eval("e.EmployeeID") %>'></asp:Label> 
     <asp:Label ID="Label1" runat="server" Text='<%# Eval("d.DeptName") %>'></asp:Label> 
    </ItemTemplate> 
    </asp:Repeater> 
+0

謝謝主席先生!太仁慈了。 – user1203996 2014-12-06 18:04:26