<asp:Repeater ID="RptCountView" runat="server" OnItemDataBound="RptCountView_ItemDataBound">
<ItemTemplate>
<tr>
<td>
<asp:Label ID="lblNo" runat="server"></asp:Label>
</td>
<td>
<asp:HiddenField ID="HdEid" Value='<%#Eval("Eid") %>' runat="server" />
<%#Eval("Bname") %>
</td>
<td>
<%#Eval("Ename") %>
</td>
<asp:Repeater ID="RptMoutleTile" OnItemDataBound="RptMoutleTile_ItemDataBound" runat="server">
<ItemTemplate>
<asp:HiddenField ID="HDMenuTitle" Value='<%#Eval("MenuTitleType") %>' runat="server" />
<asp:Repeater ID="RptMenuTol" OnItemDataBound="RptMenuTol_ItemDataBound" runat="server">
<ItemTemplate>
<td>
<asp:Label ID="lblCount" Text="次数" runat="server"></asp:Label>
</td>
<td>
<asp:Label ID="lblPre" Text="比重" runat="server"></asp:Label>
</td>
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:Repeater>
<td>
<asp:Label ID="lblTotalCount" runat="server" Text="Label"></asp:Label>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
我想在第三级repeate(RptMenuTol) 的ItemDataBound事件中获取 第一级repeater(RptCountView) 和第二级repeater(RptMenuTol) 中的值 跪求答案
<ItemTemplate>
<tr>
<td>
<asp:Label ID="lblNo" runat="server"></asp:Label>
</td>
<td>
<asp:HiddenField ID="HdEid" Value='<%#Eval("Eid") %>' runat="server" />
<%#Eval("Bname") %>
</td>
<td>
<%#Eval("Ename") %>
</td>
<asp:Repeater ID="RptMoutleTile" OnItemDataBound="RptMoutleTile_ItemDataBound" runat="server">
<ItemTemplate>
<asp:HiddenField ID="HDMenuTitle" Value='<%#Eval("MenuTitleType") %>' runat="server" />
<asp:Repeater ID="RptMenuTol" OnItemDataBound="RptMenuTol_ItemDataBound" runat="server">
<ItemTemplate>
<td>
<asp:Label ID="lblCount" Text="次数" runat="server"></asp:Label>
</td>
<td>
<asp:Label ID="lblPre" Text="比重" runat="server"></asp:Label>
</td>
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:Repeater>
<td>
<asp:Label ID="lblTotalCount" runat="server" Text="Label"></asp:Label>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
我想在第三级repeate(RptMenuTol) 的ItemDataBound事件中获取 第一级repeater(RptCountView) 和第二级repeater(RptMenuTol) 中的值 跪求答案
Repeater2 在ItemDataBound的时候,你会在里面e.Item.FindControl 找到Repeater3
这个时候Repeater3在ItemDataBound的时候,你需要找到Repeater1 和 Repeater2的控件你只需要提取两个变量int _repeaterItemIndex1;
int _repeaterItemIndex2;然后在ItemDataBound1 的时候这样写 void Repeater3_ItemDataBound(object sender, RepeaterItemEventArgs e)
{ if (e.Item.ItemType == ListItemType.Item)
{
RepeaterItem item1= Repeater1.Items[_repeaterItemIndex1];
RepeaterItem item2= Repeater2.Items[_repeaterItemIndex2]; item1.FindControl("你需要在Repeater1找的控件");
item2.FindControl("你需要在Repeater2找的控件");
} }然后对找到的控件赋值即可 void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{ if (e.Item.ItemType == ListItemType.Item)
{
_repeaterItemIndex1 = e.Item.ItemIndex;
} }Repeater2类似
因为执行顺序是这样的Repeater1的ItemDataBound->Repeater2的ItemDataBound->Repeater3的ItemDataBound
所以你在Repeater3的ItemDataBound中可以这样写
Repeater2 在ItemDataBound的时候,你会在里面e.Item.FindControl 找到Repeater3
这个时候Repeater3在ItemDataBound的时候,你需要找到Repeater1 和 Repeater2的控件你只需要提取两个变量int _repeaterItemIndex1;
int _repeaterItemIndex2;然后在ItemDataBound1 的时候这样写
void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{ if (e.Item.ItemType == ListItemType.Item)
{
_repeaterItemIndex1 = e.Item.ItemIndex;
} }Repeater2类似
因为执行顺序是这样的Repeater1的ItemDataBound->Repeater2的ItemDataBound->Repeater3的ItemDataBound
所以你在Repeater3的ItemDataBound中可以这样写 void Repeater3_ItemDataBound(object sender, RepeaterItemEventArgs e)
{ if (e.Item.ItemType == ListItemType.Item)
{
RepeaterItem item1= Repeater1.Items[_repeaterItemIndex1];
RepeaterItem item2= Repeater2.Items[_repeaterItemIndex2]; item1.FindControl("你需要在Repeater1找的控件");
item2.FindControl("你需要在Repeater2找的控件");
} }然后对找到的控件赋值即可
刚才排版乱了