Den praxis som förespråkas mest (även här på wF) är att man alltid gör ersättningarna när man ska visa informationen. Det är en bra praxis, eftersom den ersättning du visar är väldigt enkel, men om man vill gå åt andra hållet eller kanske formatera något lite annorlunda, så blir det väldigt jobbigt om texten redan är i HTML-format.
Jag vill byta ut alla radbrytningar i en databas till <br /> taggar när dokumentet laddas.
Men koden jag postade vill inte fungera.
Kan någon hjälpa mig med det?
Ja, det finns lite där ja... Men båda javascript, flash/AS, och c++ som jag tidigare har eller jobbar i använder \n, inkl. reguljära uttryck, om jag inte har helt fel ;). Sedan använder jag bara C#, eftersom jag blev ruskigt trött på VB efter ASP3.0.
Annars har du väl rätt.
Nu undrar jag även hur man gör för att använda en funktion som man kan har i en egen .cs fil...
Säg att jag har en fil med namespace Henrik, där jag har lagt in en funktion, htmlalize här... Den vill jag kunna använda från andra sidor och user-controls. Hur gör jag för att kunna detta?
Så i min code-behind:
using Henrik;
namespace hafse
{
public class blog : System.Web.UI.Page
{
private void BindPost(string id){
...
binder.text= htmlalize ( (string)objDS. ... .Rows[0]["text"] );
}
}
}
Ett tips: Kör med Environment.NewLine Istället för \n.
Kanske. Det är ju faktiskt inte samma sak. Vill man specifikt ersätta "\n" så är det "\n" man ska använda. Environment.NewLine är, som namnet antyder, något som är knutet till vilken miljö programmet körs i. Under Windows returnerar NewLine "\r\n" (Carriage return och Line feed = CrLf), men om man kör med Mono i t.ex. Linux eller MacOS X så är NewLine endast "\n" (och om någon skulle lyckas porta .NET till MacOS 9, så skulle det vara endast "\r")
I praktiken fungerar det säkert mycket bra (bättre) att använda NewLine i detta fall, men det är viktigt att veta skillnaden
vbCrLf != "\n" != Environment.NewLine och endast i Windows är vbCrLf==Environment.NewLine