Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[C# asp.net] objectdatasource met geneste classes

Pagina: 1
Acties:

  • BikkelZ
  • Registratie: Januari 2000
  • Laatst online: 21-02 08:50
Ik heb een scherm, waarbij ik een vacature wil laten zien, waarvoor meerdere kandidaten zijn geselecteerd, die weer werkervaring, opleidingen, cursussen etcetera hebben. Wat je qua cursussen en opleidingen ziet is ook weer afhankelijk van welke vacature het is (een cursus pottenbakken is alleen relevant voor een sollicitant bij de keramiekfabriek).

Nu heb ik natuurlijk netjes als braaf gedrild OO aapje in mijn Model sectie een Vacature klasse gebouwd, die 0..* Kandidaat objecten heeft, die weer 0..* Werkervaring objecten heeft, etcetera.

Dus dan zou het fijn zijn als ik de collectie kandidaten (die ik ook 'zie' als ik 'edit fields' doe bij een DetailsView die ik gebruik voor de 'top level' vacatureinfo) op een '.net manier' weer zou kunnen doorlopen, en alle collecties daar onder ook weer.

Maar hoe ga ik dat voor elkaar krijgen? Ik heb wel dit soort trucs gevonden:

C#:
1
<%# Eval("NestedObject.Property") %>


....maar dat werkt alleen bij een 1:1 relatie.

Natuurlijk zou ik gewoon alles steeds los op kunnen halen aan de hand van kandidaat en/of vacature id's, maar dan heb ik dus geen enkele onderlinge logica meer in mijn domeinmodel klassen.

iOS developer


  • BikkelZ
  • Registratie: Januari 2000
  • Laatst online: 21-02 08:50
OK ik ben nu één niveau dieper gekomen. Mijn aspx:

HTML:
1
2
3
4
5
6
7
8
9
10
11
12
        <asp:Repeater ID="RepCandidates" runat="server">
            <ItemTemplate>
                <table>
                <tr><td><%#Eval("Mobiel")%></td></tr>
                </table>
                <asp:Repeater ID="RepWerkervaring" runat="server">
                    <ItemTemplate>
                        Werkervaring
                    </ItemTemplate>
                </asp:Repeater>
            </ItemTemplate>
        </asp:Repeater>


Mijn code-behind:

C#:
1
2
3
4
                VacancyController vc = new VacancyController();
                VacancyInfo vi = vc.GetVacancy(vacatureId);
                RepCandidates.DataSource = vi.CandidatesList;
                RepCandidates.DataBind();


Zo wordt dus aan de RepCandidates repeater een lijst gehangen met kandidaten. Dat werkt prima. Maar nu moet ik per kandidaat weer een lijstje met werkervaring genereren. En ik kan niet bij RepWerkervaring komen.

[ Voor 3% gewijzigd door BikkelZ op 11-02-2008 14:26 ]

iOS developer


  • BikkelZ
  • Registratie: Januari 2000
  • Laatst online: 21-02 08:50
De truc was _ItemDataBound te gebruiken bij de eerste repeater.

iOS developer