Comment faire son nid dans les répéteurs asp.net

J'ai besoin de savoir comment faire son nid répéteurs dans un contrôle utilisateur. Le html côté des choses, c'est bien, c'est la liaison et le code derrière, j'ai besoin d'aide. J'ai seulement été en mesure de trouver des exemples à l'aide d'une source de données sql, ce qui n'aide pas vraiment.

Mon répéteurs ressembler à ceci:

<asp:Panel ID="pnlDiscipline" runat="server" CssClass="">
    <asp:Repeater ID="rptDiscipline" runat="server">
        <ItemTemplate>
            <h4><%#Eval("Discipline")%></h4>
            <ul>
                <asp:Repeater ID="rptPrograms" runat="server">
                    <ItemTemplate>
                        <li><asp:HyperLink runat="server" Text='<%#Eval("Name") %>' NavigateUrl='<%#Eval("Link") %>'></asp:HyperLink> <%#Eval ("Notation") %></li>
                    </ItemTemplate>
                </asp:Repeater>
            </ul>
        </ItemTemplate>
    </asp:Repeater>

Ce que je dois faire, je l'espère, assez clair - h4 discipline doit apparaître qu'une seule fois, toutes les entrées qui appartiennent à la discipline sont énumérés ci-dessous, puis le lendemain en h4, la liste appropriée, la prochaine h4 et ainsi de suite.

La source de données est un dataview créé dans le code-behind où chaque ligne est "Nom", "Lien", "NOtation" et "Discipline". J'ai lié le dataview à la ultrapériphériques répéteur, et il se comporte comme prévu - les listes de la discipline nom de chaque entrée, mais ne montre pas de données à l'intérieur d'un répétiteur.

Comment dois-je procéder pour faire ce travail?

EDIT: Juste pour préciser, j'ai un datatable dans le code-behind. Chaque ligne de cette table est un élément, chaque élément appartient à une discipline. Je veux utiliser le répéteur externe à la liste des disciplines, à l'intérieur de la liste des articles regroupés sous chaque discipline. Comme:

<h4>DISCIPLINE 1</h4>
    <ul>
        <li>Item</li>
        <li>Item</li>
        <li>Item</li>
    </ul>
<h4>DISCIPLINE 2</h4>
    <ul>        
        <li>Item</li>            
        <li>Item</li>
    </ul>
<h4>DISCIPLINE 3</h4>
    <ul>        
        <li>Item</li>            
        <li>Item</li>
    </ul>

À l'heure actuelle, la liaison de la datatable à l'extérieur de la répétition donne ceci (exemple utilise les données ci-dessus):

    <h4>DISCIPLINE 1</h4>
    <h4>DISCIPLINE 1</h4>
    <h4>DISCIPLINE 1</h4>
    <h4>DISCIPLINE 2</h4>
    <h4>DISCIPLINE 2</h4>
    <h4>DISCIPLINE 3</h4>
    <h4>DISCIPLINE 3</h4>

J'ai utilisé OnItemDataBound sur l'extérieur, répétition, comme l'a suggéré, et comme un cas de test suis en mesure d'accéder aux données:

protected void rptDiscipline_ItemDataBound(Object Sender, RepeaterItemEventArgs e) 
{
    DataRowView drView = (DataRowView) e.Item.DataItem;
    string name = drView["Name"] as string;
    string link = drView["Link"] as string;
    string notation = drView["Notation"] as string;
    Response.Write(name + link + notation + "<br />")
}

Sorte que les données sont là, c'est exactement ce que je m'attends à le voir, je ne peux pas le faire lié à l'intérieure de la répétition. Si il est plus performant de manière à atteindre le même, je suis heureux de retravailler ma solution.

vous pouvez obtenir de l'idée de ce thread stackoverflow.com/questions/1220715/...
qu'essayez-vous de se lier à l'intérieur de la répétition? peut-être poster à la classe de liaison à l'extérieur de répétition.
édité ma question, j'espère que ça clarifie mon problème

OriginalL'auteur Nathan | 2011-05-30