Avatar billede larsmartin Praktikant
08. april 2009 - 23:31 Der er 2 kommentarer og
1 løsning

asp.net repeater gentager for mange gange

Jeg har en tabel med nogle forfatternavne og en tabel med bogtitler. De to tabeller er knyttet sammen med et forfatterID.
Nu vil jeg vise en side med een forfatter og de bøger vedkommende har skrevet.
Dertil har jeg følgende kode, som af en eller grund også gentager forfatternavn for hver bogtitel.

Spørgsmålet er så. Hvordan får jeg sat det op så jeg får navn en gang og en liste med bøgerne?

Jeg har et eksempel i en bog hvor repeater virker fint, men med linq og sql db, som jeg ikke kunne oprette da jeg bruger Access database.

<asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1">
    <ItemTemplate>
  <asp:Literal ID="Literal1" runat="server" Text='<%# Eval("AuthorName") %>'></asp:Literal>
  <asp:Literal ID="Literal4" runat="server" Text='<%# Eval("BookName") %>'></asp:Literal>
    </ItemTemplate>
    </asp:Repeater>

SelectCommand="SELECT Author.AuthorID, Author.AuthorName, Books.BookName FROM (Books INNER JOIN Author ON Books.AuthorID = Author.AuthorID) WHERE ([Author.AuthorID] = ?)">
Avatar billede keysersoze Guru
08. april 2009 - 23:36 #1
som jeg ser det er du nok nødt til at lave en nested repeater - i den yderste skal du selecte forfattere og i den inderste bøgerne til den tilhørende forfatter.

Repeateren gør hvad den er beregnet til - nemlig at gennemløbe for hver række i din selectcommand, og uanset hvordan du end gør det vil du i dit nuværende setup få den samme forfatter ud en gang for hver bog han har skrevet.
Avatar billede larsmartin Praktikant
09. april 2009 - 00:04 #2
Det virkede.
Jeg skulle godt nok lige tænke selv en gang og lave ny sql streng til den ydre repeater, som så kun henter fra author tabellen.
Men problem solved, så du får dine point:)

nu hvor jeg læser dit svar igen, opdager jeg, at det vist også det du skriver at jeg skal gøre.
Avatar billede keysersoze Guru
09. april 2009 - 01:08 #3
svar :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester