根據您的意見,這裏是一個嵌套的例子:
標記:
<asp:Repeater runat="server" ID="rptOutter"
onitemdatabound="rptOutter_ItemDataBound" >
<ItemTemplate>
<tr>
<td><%#Eval("firstName") %></td>
<td><%#Eval("lastName") %></td>
<td><asp:Button runat="server" ID="btnDeleteEmployee" CommandArgument='<%#Eval("Id") %>' Text="Delete" OnCommand="btnDeleteEmployee_Click" /></td>
<td>
<asp:Repeater runat="server" ID="rptInner" >
<ItemTemplate>
<table>
<tr>
<td><%#Eval("firstNameInner") %></td>
<td><%#Eval("lastNameInner") %></td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
CodeBehind:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
rptOutter.DataSource = outterDataSource;
rptOutter.DataBind();
}
}
protected void rptOutter_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
RepeaterItem item = e.Item;
if ((item.ItemType == ListItemType.Item) ||
(item.ItemType == ListItemType.AlternatingItem))
{
//get your datasource from parent repeater if needed
//cast to your datasource type
//DataSourceObject ds = (DataSourceObject)item.DataItem;
Repeater r = e.Item.FindControl("rptInner") as Repeater;
if (r != null)
{
r.DataSource = innerDataSource;
r.DataBind();
}
}
}
這是MVC代碼還是WebForms? – pmarflee 2009-11-02 01:07:07
這是webforms.Please看到我的評論爲Aaron的答案。 – krishna 2009-11-02 01:12:48