Avatar billede nielsbrinch Nybegynder
30. december 2003 - 22:05 Der er 11 kommentarer og
1 løsning

Dynamisk indhold i Repeater

Jeg vil gerne have et link el. lign. der er forskelligt for hver enhed i min Repeater. Helt specifik vil jeg gerne have et link til getmails.aspx?del=5 ved Mail med id 5 osv.

Her er den kode jeg har prøvet mig frem med. Hele repeateren virker fint, det er kun linket der er galt.

<asp:Repeater id="RMails" runat="server">
<HeaderTemplate>
</HeaderTemplate>
<ItemTemplate>
<table border="0" width="500" cellspacing="1" cellpadding="3" bgcolor="#000000">
<tr>
<td width="300" bgcolor="#F2F2F2"><b>
<%# ((vlife.Mail)Container.DataItem).Psubject %>
</b>
</td>
<td width="200" bgcolor="#F2F2F2">
<p align="center"><b>
<%# ((vlife.Mail)Container.DataItem).Pdatetime.ToString() %>
&nbsp;<asp:HyperLink id="HSlet" runat="server" NavigateUrl="getmails.aspx?del=
<%# ((vlife.Mail)Container.DataItem).Pmail_id.ToString() %>
">Slet</asp:HyperLink>
</b>
</td>
</tr>
<tr>
<td width="488" colspan="2" bgcolor="#FFFFFF">
<%# ((vlife.Mail)Container.DataItem).Psender %>
skriver:
<p>
<%# ((vlife.Mail)Container.DataItem).Pbody %>
</p>
</td>
</tr>
</table>
&nbsp;
</ItemTemplate>
<FooterTemplate>
</FooterTemplate>
</asp:Repeater>

Læg fokus på det sted hvor jeg har min <asp:HyperLink, det er den der er problemet. Det er meningen den skal linke til f.eks.
getmails.aspx?del=5

men den linker i stedet til
getmails.aspx?del=<%# ((vlife.Mail)Container.DataItem).Pmail_id.ToString() %>

Jeg håber nogen kan hjælpe - det burde være noget folk er stødt på før.
Avatar billede repsak Nybegynder
30. december 2003 - 23:14 #1
Kode som jeg engang brugte til DataList men mener også det er ok til repeater:

protected void DalQuestion_ItemCreated(object sender, DataListItemEventArgs e){
    if(e.Item.ItemIndex == Convert.ToInt32(questionId)-1){
        e.Item.Font.Bold = true;
        e.Item.Font.Size = FontUnit.Parse("14pt");
    }
    else{
        e.Item.ForeColor = ColorTranslator.FromHtml("444444");
    }
}
Avatar billede nielsbrinch Nybegynder
30. december 2003 - 23:16 #2
Hvordan bruger jeg den kodestump til at sætte et link eller en knap ind i min repeater? Jeg forstår det ikke helt.
Avatar billede repsak Nybegynder
30. december 2003 - 23:41 #3
metoden gør at du kan manipulere med repeaterens indhold. Man kan sikkert også sætte Text. Knapperne skal nok laves i en form for template.

Bortset fra det så er DataGrid noget lettere at løse din opgave med
Avatar billede repsak Nybegynder
30. december 2003 - 23:42 #4
ovenstående er bare en idé. Jeg har ikke testet det på Repeater
Avatar billede nielsbrinch Nybegynder
30. december 2003 - 23:52 #5
Nej repsak, jeg vil have Repeater og den tilhørende frihed.

Der er i øvrigt ganske rigtigt en lignende event på Repeater, så jeg kan gøre det samme på Repeateren som du har gjort med ItemCreated. Men det løser bare ikke noget problem, så vidt jeg kan se. Ellers har du tænkt dig en måde at bruge det på, som jeg ikke lige kan gennemskue.
Avatar billede roger Nybegynder
31. december 2003 - 02:14 #6
NavigateUrl='getmails.aspx?del=<%# (DataBinder.Eval(Container.DataItem,"Pmail_id")%>'
Avatar billede nielsbrinch Nybegynder
31. december 2003 - 02:20 #7
Ingen effekt, nu peger linket bare på
http://localhost/vlife/getmails.aspx?del=<%# (DataBinder.Eval(Container.DataItem,"Pmail_id")%>

Ellers tak for forsøget.
Avatar billede roger Nybegynder
31. december 2003 - 03:35 #8
ohh ja det er rigtigt...tror faktisk det er en bug.
det virker med
<a href="getmails.aspx?del=<%# (DataBinder.Eval(Container.DataItem,"Pmail_id")%>">bla bla</a>
Avatar billede roger Nybegynder
31. december 2003 - 03:39 #9
Ej der var jeg for hurtigt på tastterne.

Udskift double quote med single quote i href="..." til href='...'
Avatar billede nielsbrinch Nybegynder
31. december 2003 - 10:40 #10
Det virker! Tak skal du have, roger!
Avatar billede nielsbrinch Nybegynder
31. december 2003 - 10:41 #11
Jeg kan acceptere dit svar (hvis du lægger et) i morgen aften.
Avatar billede roger Nybegynder
31. december 2003 - 14:32 #12
ok :)
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