04. maj 2007 - 16:14
Der er
7 kommentarer og 1 løsning
Tilgå repeaters controller
Hej, Jeg har en repeater, hvor jeg lister et billede og en label. Jeg har brug for at tilgå begge dele, da: Billedet ikke altid vil være der, så jeg er nødt til at teste om der er et billede, er der ikke, skal den hente et andet billede Lablen, skal have udskrift \n med <br /> Mine to repeater felter: <td> <asp:Label ID="lblAnswerIndhold" runat="server" Text='<%# Eval("Tekst") %>'></asp:Label> </td> og <td style="vertical-align: top; text-align: center;"> <asp:Image ID="imgBillede" Width="100px" ImageUrl='<%# "~/Upload/Bruger/" + Eval("BrugerId") + "/" + Eval("Billede") %>' runat="server" /> </td> Det jeg skulle kunne fra Codebehind er: for label'ens vedkommende at lave noget i den her retning: string questiontext = Convert.ToString(DebatId.Rows[0]["Tekst"].ToString().Replace("\n", "<br />")); lblAnswerIndhold.Text = questiontext; og for billedets vedkommende: string billede = Convert.ToString(DebatId.Rows[0]["Billede"]); string brugerid = Convert.ToString(DebatId.Rows[0]["BrugerId"]); if (billede != "") { imgBillede.ImageUrl = "~/Upload/Bruger/" + brugerid + "/" + billede; } else { imgBillede.ImageUrl = "~/Upload/NoImg.jpg/"; } Men hvordan får jeg ovennævnte to ting gjort på controller, der er i en repeater? Håber nogen kan hjælpe mig, da det jo ikke se pænt ud, der er et X ved de steder, hvor der intet billede er, og at teksten bare står ud i en køre..... mvh simsen :-)
Annonceindlæg fra Infor
lav to metoder: private formatquestiontext (questiontext ) { questiontext.Replace("\n", "<br />"); return questiontext; }
private string formatquestiontext (string billede, string brugerid ) { if (billede != "") { return "~/Upload/Bruger/" + brugerid + "/" + billede; } else { return = "~/Upload/NoImg.jpg/"; } }
rettelse: private string formatquestiontext (questiontext ) { questiontext.Replace("\n", "<br />"); return questiontext; }
prøv med <asp:Label ID="lblAnswerIndhold" runat="server" Text='<%# formatquestiontext (Eval("Tekst").ToString()) %>'></asp:Label> og <asp:Image ID="imgBillede" Width="100px" ImageUrl='<%# formatbillede(Eval("Billede").ToString(),Eval("BrugerId").ToString()) %>' runat="server" />
rettelse: private string formatbillede(string billede, string brugerid ) { if (billede != "") { return "~/Upload/Bruger/" + brugerid + "/" + billede; } else { return = "~/Upload/NoImg.jpg/"; } }
dr_chaos Hejsa Sorry jeg først får svaret dig nu, men havde lige en veninde der syntes, jeg var ved at udvikle firkantede øjne af alt den sidden ved puteren, så hun bortførte mig igår, og leverede mig først sent hjem igen i aftes :-) Det passer bare perfekt (det vil sige, det ville først køre, da jeg lavede private om til public)... Nu kender du mig jo efterhånden, så jeg vil gerne lære.... Så har jeg forstået din kode korret, hvis jeg siger, at du har lavet to funktioner, hvor du så i lablen kalder funktionen direkte med de(n) variabler, der nu engang skal ind i funktionen? Husk at smide et svar....jeg er bare så meget taknemlig du ikke aner det... mvh simsen :-)
svar :) Du bør nok lave den om til protected :)
Hej dr_chaos, Tak og det vil jeg gøre mvh simsen :-)
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.