24. januar 2006 - 12:01Der er
10 kommentarer og 1 løsning
html i gridview
Hej, jeg har 2 felter i min database. Tekst1 og tekst2. Jeg vil gerne vise disse tekster i et gridview, hvor tekst1 står ovenover tekst2. Jeg har forsøgt at indsætte <br> i databasen, men det bliver omkodet på siden.
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
Det er måske nemmere hvis jeg har det hele i et felt i databasen, men jeg har stadig brug for at den tolker mit html i databasefelterne, og det gør den ikke???
hvis du gør det at teksten bliver HtmlEncodet på vej ind og HtmlDecode på vej ud først Server.HtmlEncode(Textfelt) på vej ind. På vej ud bruger du f.eks. <p><%# Regex.Replace(Server.HtmlDecode(DataBinder.Eval(Container.DataItem, "Tekst").ToString()), "\n", "<br>")%></p>
nu er mit problem bare at få det afprøvet, jeg tilføjer data til gridviewet via en datareader. Jeg forsøger at decode i eventen _RowCreated. Er det ikke den eneste mulighed jeg har hvis jeg skal manipulere med dataene i grided inden de bliver vist?
du kan bruge en itemtemplate på denne måde <asp:gridview id="etgridview" runat="server" autogeneratecolumns=false> <Columns> <asp:TemplateField SortExpression="Tekst" HeaderText="Tekst" HeaderStyle-BackColor="#D4DBE2"> <ItemTemplate> <asp:Label ID="Label2" runat="server" Text='<%# Server.HtmlDecode(Eval("Tekst").ToString())%>'></asp:Label> </ItemTemplate> </asp:TemplateField> </columns> </asp:gridview>
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.