62,073
社区成员
发帖
与我相关
我的任务
分享
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
OrderID: <%# Eval("OrderID")%>
CustomerID :
<asp:Label ID="Label1" runat="server" Text='<%#Eval("CustomerID")%>'></asp:Label> <br />
<asp:Repeater ID="Repeater2" runat="server" DataSource='<%# GetOrderDetails(Convert.ToInt32(Eval("OrderID"))) %>'>
<ItemTemplate>
子容器得到CustomerID : <%# ((Label)((RepeaterItem)(Container.NamingContainer.NamingContainer)).FindControl("Label1")).Text %>
UnitPrice: <%#Eval("UnitPrice")%> <br />
</ItemTemplate>
</asp:Repeater>
<br />
</ItemTemplate>
</asp:Repeater>
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
OrderID: <%# Eval("OrderID")%>
CustomerID :
<asp:Label ID="Label1" runat="server" Text='<%#Eval("CustomerID")%>'></asp:Label> <br />
<asp:Repeater ID="Repeater2" runat="server" DataSource='<%# GetOrderDetails(Convert.ToInt32(Eval("OrderID"))) %>'>
<ItemTemplate>
子容器得到CustomerID : <%# ((Label)((RepeaterItem)((Repeater)(((RepeaterItem)Container).NamingContainer)).NamingContainer).FindControl("Label1")).Text %>
UnitPrice: <%#Eval("UnitPrice")%> <br />
</ItemTemplate>
</asp:Repeater>
<br />
</ItemTemplate>
</asp:Repeater>
private void BindRepeater()
{
SqlConnection cn = new SqlConnection(@"server=.\SQLExpress;uid=sa;pwd=;database=Northwind");
SqlDataAdapter da = new SqlDataAdapter("select top 10 orderid, CustomerID, OrderDate from Orders", cn);
DataSet ds = new DataSet();
cn.Open();
da.Fill(ds);
cn.Close();
Repeater1.DataSource = ds.Tables[0].DefaultView;
Repeater1.DataBind();
}
protected DataTable GetOrderDetails(int orderID)
{
SqlConnection cn = new SqlConnection(@"server=.\SQLExpress;uid=sa;pwd=;database=Northwind");
SqlDataAdapter da = new SqlDataAdapter("select ProductID, UnitPrice from [Order Details] where orderid = @orderid", cn);
da.SelectCommand.Parameters.AddWithValue("@orderid", orderID);
DataSet ds = new DataSet();
cn.Open();
da.Fill(ds);
cn.Close();
return ds.Tables[0];
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindRepeater();
}
}