Texto ASP.Net com quebra de linha de Multiline-TextBox para salvar em um banco de dados
Pergunta
Eu tenho PrivateMessage-System em minha nova página da comunidade.
Eu tenho uma caixa de texto multilinha para o texto de uma mensagem privada. Eu salvo este texto em uma string, esta string em um ntext SQL-Coloumn. Eu li este texto do ntext SQL-Coloum em uma string e o mostro em um rótulo.
Quando eu tiver 5 quebras de linha com a tecla "Enter" na minha caixa de texto multilinha, as quebras de linha desaparecerão do rótulo.
Não sei onde eles se perderam e o que estou fazendo de errado. alguma ideia?
Solução
Em primeiro lugar, ele realmente salva as quebras de linha na sua mesa?Em caso afirmativo, como ele os salva, por exemplo, \ r \nou CRLF ou o quê?
Seu rótulo gera html, então a única coisa que criará uma quebra é uma tag <br />
.Portanto, você precisa encontrar e substituir tudo o que está salvo no banco de dados:
Label1.Text = someDatabaseText.Replace("\r\n", "<br />");
Ou melhor ainda, faça o .Replace () antes de salvá-lo no banco de dados:
someDatabaseField = TextBox1.Text.Replace("\r\n", "<br />");
Outras dicas
Você pode resolver isso com CSS.Atribua este CSS ao seu rótulo:
espaço em branco: pre-wrap;
isso também funciona:
lbl_PostContent.Text = lbl_PostContent.Text.Replace(vbCrLf, "<br />")