Avatar billede tele_lucien Nybegynder
21. december 2002 - 15:11 Der er 43 kommentarer og
1 løsning

Formatering af text, fra et input felt?

Hej med jer.......

Hvordan formatere man den text, der bliver skrevet fra et inputfelt og smidt i en Db.

Nu står det hele bare på en lang linje :-(

Nogen forslag?

Mvh Lucien
Avatar billede a1a1 Novice
21. december 2002 - 15:18 #1
string s = databasefelt;
s.Replace("\r\n","<br>");
Response.Write(s);

;)
Avatar billede tele_lucien Nybegynder
21. december 2002 - 15:38 #2
HEhe...........

Nu snakker du asp 3.0 a1, ikke.

Kan du placere den her:

<%# DataBinder.Eval(Container, "DataItem.Post") %>
Avatar billede a1a1 Novice
21. december 2002 - 15:57 #3
nej det gør jeg da ikke

lav en funktion
public string ShowBR(string s) {
s = s.Replace("\r\n", "<br />");
return s;
}

for at replace i dit eksempel
<%# ShowBR((string) DataBinder.Eval(Container, "DataItem.Post")) %>

;)
Avatar billede tele_lucien Nybegynder
21. december 2002 - 16:06 #4
Okay sorry,- :-(

Vil du ikke lige skrive det i vb.net? Jeg er rimlig newbie....

Hehe....
Avatar billede a1a1 Novice
21. december 2002 - 16:13 #5
function ShowBR(s)
s = Replace(s,"\r\n","<br>")
end function

måske...???
Avatar billede tele_lucien Nybegynder
21. december 2002 - 16:57 #6
Hvad skal der stå her i string?

ShowBR((string)
Avatar billede a1a1 Novice
21. december 2002 - 16:57 #7
string

;)
Avatar billede tele_lucien Nybegynder
21. december 2002 - 16:58 #8
Har skrevet s, men den siger

Name 's' is not declared.
Avatar billede tele_lucien Nybegynder
21. december 2002 - 16:58 #9
Jamen så siger den:

'String' is a class type, and so is not a valid expression.
Avatar billede tele_lucien Nybegynder
21. december 2002 - 16:59 #10
Har sat den op sådan her:

Function ShowBR(ByVal s As String) As String
  s = Replace(s, "\r\n", "<br />")
End Function

Hvad betyder det her: "\r\n" ?
Avatar billede a1a1 Novice
21. december 2002 - 17:01 #11
\r carrigereturn
\n newline

men jeg tror at du skal udskifte "\r\n" med vbCrLf eller evt chr(9)
Avatar billede tele_lucien Nybegynder
21. december 2002 - 17:06 #12
sådan:

Function ShowBR(ByVal s As String) As String
        s = Replace(s, vbCrLf, "<br />")
End Function

Men når jeg kalder funktionen, hvorfor så ikke bare nøjes med:

<%# ShowBR(DataBinder.Eval(Container, "DataItem.Post")) %>
Avatar billede a1a1 Novice
21. december 2002 - 17:11 #13
jeg ved ikke om man kan det....(kan man ikke i c#)
Avatar billede tele_lucien Nybegynder
21. december 2002 - 17:13 #14
Har lige prøvet......... så viser den bare ikke noget.

Men jeg må ikke skrive string bagefter, da det er ugyldigt. Den skal hedde noget andet...... hvad?
Avatar billede a1a1 Novice
21. december 2002 - 17:15 #15
Din funktion skal da vel være

Function ShowBR(ByVal s As String) As String
      s = Replace(s, vbCrLf, "<br />")
      ShowBR = s
End Function

:)
Avatar billede a1a1 Novice
21. december 2002 - 17:15 #16
havde jeg vist lige glemt....
Avatar billede tele_lucien Nybegynder
21. december 2002 - 17:17 #17
Nå ja......

Og hvordan kalder jeg den her så?

<%# ShowBR()(DataBinder.Eval(Container, "DataItem.Post")) %>
Avatar billede tele_lucien Nybegynder
21. december 2002 - 17:19 #18
Sådan sker der ikke noget......

<%# ShowBR(DataBinder.Eval(Container, "DataItem.Post")) %>

Sådan siger fejl! Må ikke hedde string

<%# ShowBR((string) DataBinder.Eval(Container, "DataItem.Post")) %>
Avatar billede a1a1 Novice
21. december 2002 - 17:21 #19
har du rettet funktionen?

<%# ShowBR(DataBinder.Eval(Container, "DataItem.Post")) %>

burde så vel egentlig du....
Avatar billede tele_lucien Nybegynder
21. december 2002 - 17:22 #20
Det skal virke, for det smadre mit design totalt, at texten ikke formateres.

Den flyver bare til højre i en lang linje.. :-(
Avatar billede tele_lucien Nybegynder
21. december 2002 - 17:23 #21
Ser sådan her ud:

Function ShowBR(ByVal s As String) As String
    s = Replace(s, vbCrLf, "<br />")
    ShowBR = s
End Function

Den linje her er den korrekt:

Function ShowBR(ByVal s As String) As String

Funktionen er en streng, og den skal spytte en streng ud?
Avatar billede tele_lucien Nybegynder
21. december 2002 - 17:29 #22
Ahhhh.............. det kan ikke passe det ikke vil virke.

Jeg har lidt små travlt, skal til og i bad og til jule frokost.

Har du ikke flere ideér A1? Det må du have..........hehe
Avatar billede a1a1 Novice
21. december 2002 - 17:31 #23
ja det tror jeg er rigtigt

hvis du laver din funktion om til
Function ShowBR(ByVal s As String) As String
    ShowBR = s
End Function

virker det så?

har du prøvet bare at "kalde" funktionen på din side?
ala
<%
Response.Write(ShowBR("det er en tæææst"))
%>
for at se om den overhovede retunere noget...
Avatar billede a1a1 Novice
21. december 2002 - 17:32 #24
og evt. sådan også..

Response.Write(ShowBR("det er en " & vbCrLf & "tæææst"))
Avatar billede tele_lucien Nybegynder
21. december 2002 - 17:37 #25
Det virker

Hvad skal jeg så gøre?
Avatar billede tele_lucien Nybegynder
21. december 2002 - 17:43 #26
Er det pga den her lille fætter det virker eller hvad:

& vbCrLf &

Skal den ind i her et sted? <%# ShowBR(DataBinder.Eval(Container, "DataItem.Post")) %>
Avatar billede a1a1 Novice
21. december 2002 - 18:43 #27
nej vbCrLf er et linieskift

jeg ved ikke lige hvordan du sætter det ind i vb...
Avatar billede burningice Nybegynder
21. december 2002 - 21:19 #28
a1>> det er fordi at Replace funktionen ikke findes i C#, det er noget VB-ting... men ellers har du ret med din \n og \c ;)

tele_lucien>> du skal have fat i Stringbuilderen, den har nemlig en replace-metode.

ms-help://MS.NETFrameworkSDK/cpref/html/frlrfsystemtextstringbuilderclassreplacetopic1.htm
[C#]
[Serializable]
public StringBuilder Replace(
  char oldChar,
  char newChar
);

Parameters
oldChar
The character to replace.
newChar
The character that replaces oldChar.
Return Value
A reference to this instance with oldChar replaced by newChar.

Remarks
A StringBuder with all instances of oldChar replaced with newChar. The size of the StringBuilder is unchanged because characters are only replaced. This method is case-sensitive.
Avatar billede a1a1 Novice
21. december 2002 - 21:23 #29
hmmm...

så er det da mystisk at denne virker (C#)
public string ShowBR(string s) {
s = s.Replace("\r\n", "<br />");
return s;
}
Avatar billede a1a1 Novice
21. december 2002 - 21:26 #30
hvis du nu havde læst alle indlæggene ville du også vide at hans vb funktion virker fint.....

problemet er hvordan den kommer ind her
<%# DataBinder.Eval(Container, "DataItem.Post") %>
Avatar billede tele_lucien Nybegynder
21. december 2002 - 21:27 #31
Hey aaaaahhhh

Nøjagtig hvad jeg ledte efter.

Ser lige om jeg kan få det til at virke, ellers hører du fra igen.

I får lige lidt points hver, hvis du kommmer med et svar fessor,- okay!

Glædelig jul...........
Avatar billede tele_lucien Nybegynder
21. december 2002 - 21:28 #32
Jeg løber igen........ skal i byen nu.

JJHHHIIIIAAAAA!!!!!
Avatar billede burningice Nybegynder
21. december 2002 - 21:34 #33
a1>> jeg siger heller ikke at det ikke virker, jeg siger bare at Replace ikke findes i C#...! jeg havde fået det indtryk at tele_lucien koder i C#, derfor min lille kommentar.
Avatar billede a1a1 Novice
21. december 2002 - 21:36 #34
Replace findes i C#... string.Replace("a","b")
Avatar billede burningice Nybegynder
21. december 2002 - 21:36 #35
men ang. daabinderen, er det ikke sådan her det gøres??


<%# DataBinder.Eval(Container, ShowBR("DataItem.Post")) %>
Avatar billede burningice Nybegynder
21. december 2002 - 21:37 #36
ja... men ikke bare Replace("a", "b"), som man skal skrive i VB.. ligesom man heller ikke lige uden videre kan skrive Left, Right, MsgBox og så meget andet i C#
Avatar billede a1a1 Novice
21. december 2002 - 21:43 #37
det går da vist helt galt nu....
vb, virker
Function ShowBR(ByVal s As String) As String
    s = Replace(s, vbCrLf, "<br />")
    ShowBR = s
End Function
c#, virker
public string ShowBR(string s) {
s = s.Replace("\r\n", "<br />");
return s;
}

i c#
<%# ShowBR(string)DataBinder.Eval(Container, ("DataItem.Post")) %>
i vb
? ? ?
Avatar billede burningice Nybegynder
21. december 2002 - 21:55 #38
i vb caster man ved hjælp af CStr

<%# ShowBR(CStr(DataBinder.Eval(Container, ("DataItem.Post"))) %>
Avatar billede tele_lucien Nybegynder
24. december 2002 - 12:04 #39
Hej igen.........

>> A1, funktionen virker også denne måde at kalde den på:

<%# ShowBR(DataBinder.Eval(Container, ("DataItem.Post")) %>

Problemet var er at hvis man f.eks. gør sådan her: testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest

altså skriver text uden mellemrum, så virker den ikke???!?!?!?!?!

Hvordan kan det være......... :-(

Mvh Lucien
Avatar billede burningice Nybegynder
24. december 2002 - 12:17 #40
måske fordi der ikke er nogen linjeskift i teksten?!
Avatar billede a1a1 Novice
25. december 2002 - 16:18 #41
ja...:o)
Avatar billede tele_lucien Nybegynder
25. december 2002 - 21:16 #42
Hvordan laver jeg det, sådan at der ikke behøves linjeskift for at den formatere texten som den skal?

Mvh Lucien
Avatar billede burningice Nybegynder
25. december 2002 - 22:56 #43
det kommer helt an på hvordan det skal formateres

"Hvordan formatere man den text, der bliver skrevet fra et inputfelt og smidt i en Db." hjælper os ved gud ikke særlig meget !!

Skal der være en maks antal bogstaver i en linje, eller hvad er det du vil have !?!
Avatar billede tele_lucien Nybegynder
15. januar 2003 - 22:41 #44
Tak for hjælpen....... A1 for points, da han har lagt svar ind!

Mvh Lucien
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