C# 为一个asp net repeater数据源使用多个表
我需要从多个表中读取数据并在我的aspx中显示它们。那么我应该如何解决这个问题呢?我曾尝试使用两个中继器,但也不起作用 C: ASPX: 例外:其他信息:数据绑定:“f_uAnonymousType0`2[[System.Data.DataTableCollection,System.Data,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089],[System.Data.DataSet,System.Data,Version=4.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089]”不包含名为“FirstName”的属性C# 为一个asp net repeater数据源使用多个表,c#,asp.net,html-table,repeater,C#,Asp.net,Html Table,Repeater,我需要从多个表中读取数据并在我的aspx中显示它们。那么我应该如何解决这个问题呢?我曾尝试使用两个中继器,但也不起作用 C: ASPX: 例外:其他信息:数据绑定:“f_uAnonymousType0`2[[System.Data.DataTableCollection,System.Data,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089],[System.Data.DataSet,System.Data,Vers
如果你想帮我写一篇帖子,评论通常对我没有帮助。你必须加入他们,我会在用户名上加上,然后选择你想要使用的字段。然后将其用作您的数据源我可以使用DataSet.Merge方法吗?我不确定是否要合并,但您可以通过Linqcreate在两个表之间创建一个内部联接,或linq等效项,从而获得一个结果集,而不是两个结果集。这只是基本的SQL查询技术。更新后的答案确实有效,但现在我在我的ASPX页面中遇到了一个例外:数据绑定:“f_uuanonymoustype0`2[[System.Data.DataRow,System.Data,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089],[System.Data.DataRow,System.Data,您必须在用户ID上加入它们,并选择您希望使用的字段。然后将其用作您的数据源。我可以使用DataSet.Merge方法吗?我不确定是否要合并,但您可以很容易地使用linq在两个表之间创建内部联接,或linq等效项,以便得到一个结果set而不是2。这只是基本的SQL查询技术。因此,更新后的答案确实有效,但现在我在我的ASPX页面中遇到了一个异常:数据绑定:“f_uuAnonymousType0`2[[System.Data.DataRow,System.Data,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089],[System.Data.DataRow,System.Data,
var node = _administrationSystem.GetNodes(); //DataSet
var operatorInfo = _administrationSystem.GetOperatorsInformation(userId); //DataSet
var result = (from n in nodes.Tables[0].AsEnumerable()
join o in operators.Tables[0].AsEnumerable()
on n.Field<int>("NodeIndex") equals o.Field<int>("NodeIndex")
select new
{
ID = o.Table.Columns["ID"],
FirstName = o.Table.Columns["FirstName"],
SurName = o.Table.Columns["SurName"],
NodeName = n.Table.Columns["NodeName"],
TranslatorName = o.Table.Columns["TranslatorName"],
EMail = o.Table.Columns["EMail"],
LastLogin = o.Table.Columns["LastLogin"]
}).ToList();
rptList.DataSource = result;
rptList.DataBind();
<asp:Repeater runat="server" OnItemCommand="rptList_OnItemCommand" ID="rptList">
<HeaderTemplate>
<table class="tblRegister">
<tr class="tblRowHeader" style="background-color: rgb(200,200,200)">
<th>
<asp:Label runat="server" Text="TRNSLTFirstname" />
</th>
<th>
<asp:Label runat="server" Text="TRNSLTSurname" />
</th>
<th>
<asp:Label runat="server" Text="TRNSLTNode index" />
</th>
<th>
<asp:Label runat="server" Text="TRNSLTNumber translation" />
</th>
<th>
<asp:Label runat="server" Text="TRNSLTEmail" />
</th>
<th colspan="3">
<asp:Label runat="server" Text="TRNSLTLast login" />
</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<%# OperatorId.HasValue && OperatorId == Convert.ToInt32(Eval("ID"))? "<tr >" : "<tr>" %>
<td>
<%# Eval("FirstName") %>
</td>
<td>
<%# Eval("SurName") %>
</td>
<td>
<%# Eval("NodeIndex") %>
</td>
<td>
<%# Eval("TranslatorName") %>
</td>
<td>
<%# Eval("EMail") %>
</td>
<td>
<%# Eval("LastLogin") %>
<asp:Image ClientIDMode="Static" ImageUrl="Images/Icons/Add-22x22.png" ID="AddContact" runat="server" Style="visibility: hidden;" />
</td>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>