我正在尝试使用嵌套中继器设置一个场景,其中我有多个不同的类别,其中显示了多个子项。问题在于,父表和子表在类别 id 上匹配,这会返回除此之外的所有表类别的所需结果。出于某种原因,在这种情况下,我只从表 A 中获取 textCategory1 作为标题文本,其中包含页面上该类别中表 b 中的所有子项,我检查了 sp 并且所有三个都通过了。
父表 A
标题文本:TextCategory1|Category:13
标题文本:TextCategory2|类别:73
标题文本:TextCategory3|类别:14
子表 B
标题文本:childText|类别:13 |父类别:Null
标题文本:childText|类别:74|父类别:2
标题文字:childText|类别:14|父类别:2
这是我使用的数据关系,我将主中继器数据绑定到第一个表的结果,而子中继器在主项数据中绑定到数据关系的 datarow.createchildview。
ds.Relations.Add(new DataRelation("Category_ID", ds.Tables[0].Columns["Category_ID"],
ds.Tables[1].Columns["Category_ID"]));
MasterRep.DataSource = ds.Tables[0];
MasterRep.DataBind();
MasterRep 项目数据绑定中的部分:
DataRowView drv = e.Item.DataItem as DataRowView;
Repeater ChildRep = e.Item.FindControl("ChildRep") as Repeater;
if (drv != null && ChildRep != null)
{
ChildRep.DataSource = drv.CreateChildView("Category_ID");
ChildRep.DataBind();
}
谁能提出在这种情况下我不会从表 a 中获取所有三个策略文本行的原因?