Asp.net 如何使用where条件管理嵌套中继器?
我有嵌套的中继器。第一个中继器显示来自CityTable的CityName。第二个中继器将根据cityName显示来自另一个表的CityDetails 输出将如下所示Asp.net 如何使用where条件管理嵌套中继器?,asp.net,repeater,Asp.net,Repeater,我有嵌套的中继器。第一个中继器显示来自CityTable的CityName。第二个中继器将根据cityName显示来自另一个表的CityDetails 输出将如下所示 City1 Data1 Data2 City2 Data3 Data4 and so on. 我用了嵌套式中继器 <asp:Repeater ID="rp1" runat="server"> <ItemTemplate> <%# GetImageSource(
City1
Data1
Data2
City2
Data3
Data4 and so on.
我用了嵌套式中继器
<asp:Repeater ID="rp1" runat="server">
<ItemTemplate>
<%# GetImageSource( Eval("CityName"))%>
<asp:Repeater ID="rp2" runat="server" >
<ItemTemplate>
<%#DataBinder.Eval(Container.DataItem, "DealHeadline")%>
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:Repeater>
现在我不明白如何显示第二个中继器数据了
也许这不是解决这个问题的正确方法。请给我建议正确的方法或任何解决方案。我用以下方法解决了问题,希望能有所帮助: Aspx代码:
<asp:Repeater ID="CityRpt" runat="server"><ItemTemplate><li>
<%# DataBinder.Eval(Container.DataItem, "City")%>
<!-- start child repeater -->
<ul class="subleveltwo">
<asp:repeater id="BuildingRpt" datasource='<%# CType(Container.Dataitem,System.Data.DataRowView).Row.GetChildRows("RelationName") %>' runat="server">
<itemtemplate><li><%# DataBinder.Eval(Container.DataItem, "[""ColumnName""]")%><br></li></itemtemplate>
</asp:repeater>
</ul>
<!-- end child repeater -->
</li></ItemTemplate></asp:Repeater>
</ul>
<!-- end Parent repeater -->
Vb.Net代码:
Dim propertyType As String = "Property_A"
Dim ds As DataSet = MaxxDatabaseHelper.GetBuildingsByCity()
'get distinct results into datatable
Dim TableC As DataTable = (From myRow In ds.Tables(1).AsEnumerable()
Where (myRow.Field(Of String)("Property_Type") = propertyType)
Select myRow).Distinct().CopyToDataTable()
'add to dataset
ds.Tables.Add(TableC)
ds.Relations.Add("RelationName", ds.Tables(0).Columns("City"), ds.Tables(2).Columns("City"))
If (ds IsNot Nothing Or ds.Tables(0).Rows.Count <> 0) Then
CityRpt.DataSource = ds.Tables(0)
'page bind
Page.DataBind()
End If
Dim propertyType As String=“Property\u A”
Dim ds As DataSet=MaxxDatabaseHelper.GetBuildingByCity()
'将不同的结果放入datatable
Dim TableC As DataTable=(来自ds.Tables(1.AsEnumerable()中的myRow)
其中(myRow.Field(字符串的)(“属性类型”)=propertyType)
选择myRow).Distinct().CopyToDataTable()
'添加到数据集
ds.Tables.Add(表C)
Add(“RelationName”,ds.Tables(0).列(“City”)、ds.Tables(2)列(“City”))
如果(ds不是Nothing或ds.Tables(0.Rows.Count 0),则
CityRpt.DataSource=ds.Tables(0)
'页面绑定
Page.DataBind()
如果结束
你能检查一下这个链接吗?请看一下这个类似的线程