14. maj 2004 - 22:50
Der er
12 kommentarer og 1 løsning
Server.HtmlEncode() og labels?
Jeg HtmlEncoder indholdet fra nogle txtbokse og smider det i databasen.. såden her: INSERT INTO NYHEDER VALUES ('" & lblnyhedID.text & "','" & DataOleDB.SletBlank(txtOverskrift.text) & "','" & Server.HtmlEncode(DataOleDB.SletBlank(txtTekst.text)) & "',#" & DataOleDB.SletBlank(now()) & "#,1," & DataOleDB.SletBlank(drpGruppe.selecteditem.value) & ");" og det virker perfekt... Men når jeg skal hive dataen ud igen sådan her: <%# Server.HtmlDecode(Container.DataItem("Tekst")) %> Så kommer teksten ikke decoded ud igen.. :( Ved ikke helt om det er den rigtige måde at løse det på... Det jeg vil er at alle linjeskift som jeg laver når jeg skriver nyheder skal gemme... jeg kan få det til at virke hvis jeg smider dataen i en txtboks igen, men det skal være noget man ikke kan se.. f.eks. label eller noget.. nogen forslag?
Annonceindlæg fra Kingston Technology
det skal lige siges at når jeg viser dataen, er det i en CustomTemplate i en Datagrid
når du skal gemme skal du ikke gøre noget... når du dog skal vise det igen laver du en replace: dindata.Replace("\n", "<br />");
Ser ikke ud til at virke... Jeg viser dataen sådan: <%# Container.DataItem("Tekst").Replace("\n","<br />") %> dataen vises, men ikke med mellemrum
og du sørger for at lave din replace på data som IKKE har været igennem en HtmlEncode??
hmm jeg skal dobbelttjekke... brb
Det virker KUN hvis jeg smider det i en textbox med textmode="multiline"... men det er ikke acceptabelt.. :(
skriver du c# eller vb.net?
Er der ikke noget med at man kan bruge VbCrLf? Det skulle vist være noget med liniskift..
no, i VB.Net bruger man VbCrLf en anden mulighed er at bruge System.Environment.NewLine... den skulle vist virke ligemeget hvilket sprog man benytter
no = jo... string.Replace(VbCrLf, "<br />")
Takker det virkede... smid et svar
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.