Avatar billede itbjarne Nybegynder
31. marts 2005 - 19:06 Der er 16 kommentarer og
1 løsning

Vis HTML kode som tekst i tabel og ikke som ´aktiv kode´

Hej.
Jeg ønsker at vise HTML kode som tekst i en tabel celle i asp.net, men når jeg trækker teksten ud af MySQL og sætter tabelcellens tekst til værdien, vises resultatet på skærmen som om HTML teksten bliver oversat af browseren.
Eksempel:
Jeg sætter en tabelcelle således: TableCell1.Text = rst1("celltext").Value
Teksten som er i MySQL feltet er f.eks.:
<td valign="top">
<p align="center">
</p>
<p align="center">
<font face="Verdana" size="1">
<br />
&nbsp;
<br />
&nbsp;
<br />
Hjælp</font>
</p>
<p align="center">
<font face="Verdana" size="1">FAQ</font>
</p>
<p align="center">
<font face="Verdana" size="1">Support</font>
</p>
<p align="center">
<a href="yourpage.aspx"><font face="Verdana" size="1">Din Side</font></a>
<br />
&nbsp;&nbsp;

Håber ovenstående er forståeligt :-)
Avatar billede itbjarne Nybegynder
31. marts 2005 - 19:08 #1
Spørgsmålet er iøvrigt: Hvorledes får jeg browseren til at vise det som tekst og ikke så teksten opfører sig som HTML kode ?
Avatar billede a1a1 Novice
31. marts 2005 - 19:36 #2
TableCell1.Text = Server.HTMLEncode(rst1("celltext").Value)

;o)
Avatar billede itbjarne Nybegynder
31. marts 2005 - 19:40 #3
AHA. Så langt så godt. Men det ser ud til at tablecell ikke accepterer ny linie, dvs. al teksten kommer som perler på en snor selv om jeg har crlf efter hver linie.
Nogen bud på dette fænomen ?
Avatar billede a1a1 Novice
31. marts 2005 - 19:43 #4
Replace(Server.HTMLEncode(rst1("celltext").Value), vbCrLf, "<br />")
Avatar billede a1a1 Novice
31. marts 2005 - 19:44 #5
først laver du din html om til "tekst", derefter replacer du linie skift (vbCrLf) med <br />

;o)
Avatar billede itbjarne Nybegynder
31. marts 2005 - 19:46 #6
Du milde. Kan du blive ved ?
Ok, du har pointene. Men kan jeg lige spørge hvad der sker med mellemrummene?
hvis linien f.eks. starter med 10 mellemrum, bliver disse slettet når de vises i tabelcellen. Når jeg laver udtræk direkte af MySQL er mellemrummene der (bruger longtekst felt).
Avatar billede a1a1 Novice
31. marts 2005 - 19:53 #7
Replace(Replace(Server.HTMLEncode(rst1("celltext").Value), vbCrLf, "<br />"), " ", "&nbsp;")
Avatar billede burningice Nybegynder
31. marts 2005 - 19:55 #8
for at være helt sikker kan du lave en .Trim() som sørger for at fjerne mellemrum før og efter

Server.HTMLEncode(rst1("celltext").Value.Trim()).Replace(vbCrLf, "<br />")

Bemærk at Replace() skal skride derud hvor kragerne forlængst er vendt.
Avatar billede burningice Nybegynder
31. marts 2005 - 19:56 #9
ah.. troede at mellemrumme skal væk.

Bemærk, at Replace stadigvæk er fy fy

Server.HTMLEncode(rst1("celltext").Value.Trim()).Replace(vbCrLf, "<br />").Replace(" ", "&nbsp;")
Avatar billede a1a1 Novice
31. marts 2005 - 20:00 #10
"fy fy", så slemt er det ikke, specielt når man er ved at lære at programmere..
Avatar billede itbjarne Nybegynder
31. marts 2005 - 20:07 #11
Jamen, det er jo helt fantastisk! Tak for hjælpen a1.
Hvorfor er Replace fy fy ?
Avatar billede itbjarne Nybegynder
31. marts 2005 - 20:08 #12
Ups. Skal lige give et par points til a1.
Avatar billede burningice Nybegynder
31. marts 2005 - 20:12 #13
fordi at det ikke er en standard-del af .Net, men kun findes for at lave lidt kompabilitet med vb6

a1>> hvorfor i alverden skulle den gøre det nemmere at lære at programmere? Den gør det præcist SVÆRERE at lære .Net, da ALT er klasser, og der derfor ikke findes globale metoder. Det er en ren VB.Net-ting, og man har derfor sværere ved at læse andres kode hvis man bliver ved med at hænge fast i de gamle laster.

String.Replace(String, String) er derimod en indbygget metode på på String-klassen, og det er derfor ens lige meget hvilket sprog man bruger.
Avatar billede itbjarne Nybegynder
31. marts 2005 - 20:45 #14
Hmm - tablecellen wrapper ikke teksten når man gør dette. Det gør den når man ikke benytter ovenstående. Det gør tabellen for bred. Hvad er årsagen til dette ?
Avatar billede itbjarne Nybegynder
31. marts 2005 - 20:56 #15
Nu kan jeg se det (ved at kigge på output koden i browseren). Når alle mellemrum erstattes med &nbsp; så bliver teksten een lang streng. Cellen wrapper kun når der er mellemrum mellem to ord. Jeg tror jeg bruger versionen uden &nbsp;
Avatar billede a1a1 Novice
31. marts 2005 - 21:08 #16
måske replace(string, " ", "&nbsp; ") ? (et mellemrum efter)
så vil du kunne se "mellemrum" og tabellen kan stadg wrappe

;o)
Avatar billede itbjarne Nybegynder
31. marts 2005 - 21:13 #17
Ja jeg tænkte selv på det samme, men så kommer der to mellemrum mellem hvert ord.
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