<asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound">
<HeaderTemplate>
<asp:Repeater ID="Repeater2" runat="server">
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%#Eval("pc_name") %>'
></asp:Label>
</ItemTemplate>
</asp:Repeater>
</HeaderTemplate>
<ItemTemplate>
<li><span><%#Container.ItemIndex+2 %></span><div class="p-name"><a href='../product.aspx?id=<%#Eval("pc_id") %>'><%#Eval("pc_name") %>
</a></div></li>
</ItemTemplate>
</asp:Repeater>在这个HeaderTemplate 里Repeater2 的值怎么取到 Repeater1 绑定的值我在Repeater1_ItemDataBound里写了 if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
string au_id = ((DataRowView)e.Item.DataItem).Row["pc_id"].ToString();
Repeater repeaterSub = (Repeater)e.Item.FindControl("Repeater2");
if (repeaterSub != null)
{
OleDbConnection cn = new OleDbConnection(db.connstring);
OleDbCommand cmd = new OleDbCommand("select * from product where (id = ?)", cn);
cmd.Parameters.Add("user_name", OleDbType.Integer);
cmd.Parameters["pc_id"].Value =au_id;
cn.Open();
repeaterSub.DataSource = cmd.ExecuteReader();
repeaterSub.DataBind();
cn.Close();
}
}没反应 请问怎么弄
<HeaderTemplate>
<asp:Repeater ID="Repeater2" runat="server">
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%#Eval("pc_name") %>'
></asp:Label>
</ItemTemplate>
</asp:Repeater>
</HeaderTemplate>
<ItemTemplate>
<li><span><%#Container.ItemIndex+2 %></span><div class="p-name"><a href='../product.aspx?id=<%#Eval("pc_id") %>'><%#Eval("pc_name") %>
</a></div></li>
</ItemTemplate>
</asp:Repeater>在这个HeaderTemplate 里Repeater2 的值怎么取到 Repeater1 绑定的值我在Repeater1_ItemDataBound里写了 if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
string au_id = ((DataRowView)e.Item.DataItem).Row["pc_id"].ToString();
Repeater repeaterSub = (Repeater)e.Item.FindControl("Repeater2");
if (repeaterSub != null)
{
OleDbConnection cn = new OleDbConnection(db.connstring);
OleDbCommand cmd = new OleDbCommand("select * from product where (id = ?)", cn);
cmd.Parameters.Add("user_name", OleDbType.Integer);
cmd.Parameters["pc_id"].Value =au_id;
cn.Open();
repeaterSub.DataSource = cmd.ExecuteReader();
repeaterSub.DataBind();
cn.Close();
}
}没反应 请问怎么弄
<asp:Panel ID="Panel1" runat="server" ScrollBars="Vertical" width="715px" height="670px" BorderStyle="none">
<asp:Repeater ID="RPFirstType1" runat="server" OnItemDataBound="RPFirstType1_ItemDataBound">
<ItemTemplate>
<div id="Row1" style="width:345px; height:150px; border-bottom:1px dashed #A09F9F; float:left">
<div class="bgyp2_pb_le_tu" style="width:107px; height:102px; margin-left:5px; margin-top:5px; float:left; display:inline;"><img src='<%#Eval("CPicture") %>' style="width:100px; height:100px;padding-bottom:3px; padding-left:3px; padding-right:3px; padding-top:3px;border:solid 1px #CCC;"/></div>
<div class="bgyp2_pb_le_zi" style="width:197px; height:122px; margin-left:15px; margin-top:5px; text-align:left; float:left; line-height:20px;"><a href='leibiexiangxi.aspx?CSid=<%#Eval("CSID") %>&CSname=<%#Eval("CSname") %>' class="hui"><font class="style2lan14"><%#Eval("CSname") %></font></a><br/>
<asp:Repeater ID="RPSecondType1" runat="server">
<ItemTemplate>
<font class="style2hui12"><a href="leibiexiangxichanpin.aspx?CSid=<%#Eval("CSID") %>" class="hui"> <%#Eval("CSname") %></a> | </font>
</ItemTemplate>
</asp:Repeater>
</div>
</div>
</ItemTemplate>
</asp:Repeater>
</asp:Panel>
/// <summary>
/// 当repeater数据绑定事件激发时给二级repeater绑定数据
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void RPFirstType1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Repeater rp = e.Item.FindControl("RPSecondType1") as Repeater;
DataRowView drv = (DataRowView)e.Item.DataItem;
string csname = drv["CSname"].ToString();
rp.DataSource = cb.GetType1(csname);
try
{
rp.DataBind();
}
catch (Exception nn)
{
Console.WriteLine(nn.Message);
}
}
}这是我写的一个可以正常运行的方法,你对比下看看。
这加个断点调试下
你的条件却是if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)当然没有反映了。
改成
if (e.Item.ItemType == ListItemType.Header)