Avatar billede chw Nybegynder
24. januar 2006 - 12:01 Der 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.

Nogen der har forslag til hvordan det skal gøres?
Avatar billede chw Nybegynder
24. januar 2006 - 12:16 #1
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???
Avatar billede dr_chaos Nybegynder
24. januar 2006 - 12:23 #2
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>
Avatar billede dr_chaos Nybegynder
24. januar 2006 - 12:24 #3
du kan også forsøge at tilføje:
\n mellem de 2 tekster
Avatar billede chw Nybegynder
24. januar 2006 - 13:18 #4
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?
Avatar billede dr_chaos Nybegynder
24. januar 2006 - 13:21 #5
<asp:TemplateField SortExpression="Note" HeaderText="Tekst" HeaderStyle-BackColor="#D4DBE2">
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Server.HtmlDecode(Eval("Tekst").ToString())%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
Avatar billede dr_chaos Nybegynder
24. januar 2006 - 13:23 #6
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>
Avatar billede dr_chaos Nybegynder
24. januar 2006 - 13:23 #7
Tekst repræsenterer navnet på en column fra databasen
Avatar billede chw Nybegynder
24. januar 2006 - 13:26 #8
Jeg har ikke helt den mulighed vel?

<asp:GridView ID="gwMain" runat="server" AutoGenerateColumns="False">
            <Columns>
                <asp:BoundField DataField="text" HeaderText="testing" />
            </Columns>
        </asp:GridView>
Avatar billede dr_chaos Nybegynder
24. januar 2006 - 13:28 #9
<asp:GridView ID="gwMain" runat="server" AutoGenerateColumns="False">
            <Columns>
                <asp:BoundField DataField="text" HeaderText="testing" />
<asp:TemplateField  HeaderText="testing2">
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Server.HtmlDecode(Eval("text").ToString())%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
            </Columns>
        </asp:GridView>
Avatar billede chw Nybegynder
24. januar 2006 - 13:33 #10
ok tak. Den er godtaget :-)
Avatar billede dr_chaos Nybegynder
24. januar 2006 - 13:35 #11
jamen så smider jeg da et 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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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