2

実行時にいくつかのコントロール(具体的には順序付けされていないリスト)を追加する必要があるリッチリピーターコントロールを設計しています。

私が選択した解決策は、必要なマークアップonInitをヘッダー、アイテム、フッターのテンプレートにそれぞれ挿入することです。
(InstantiateInを使用して)テンプレートを取り出し、必要に応じてマークアップを追加できますが、テンプレートをリピーターに戻す方法がわかりませんか?

4

1 に答える 1

4

過去には、私は単に処理し、必要なことを何でもしItemDataBound Eventて電流を変更していました。RepeaterItem

例:

private void Repeater1_ItemDataBound(object Sender, RepeaterItemEventArgs e)
{
    // Make sure you filter for the item you are after
    if ((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem))
    {
        PlaceHolder listLocation = (PlaceHolder)e.Item.FindControl("listPlaceHolder");
        var subItems = ((MyClass)e.Item.DataItem).SubItems;

        listLocation.Controls.Add(new LiteralControl("<ul>");

        foreach(var item in subItems)
        {
            listLocation.Controls.Add(new LiteralControl("<li>" + item + "</li>"));
        }

        listLocation.Controls.Add(new LiteralControl("</ul>");
    }
}
于 2008-11-07T11:47:25.287 に答える