我有以下编译和工作的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 :(得分: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();
这是MarkUp代码: -
<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>