Texto ASP.Net com quebra de linha de Multiline-TextBox para salvar em um banco de dados

StackOverflow https://stackoverflow.com/questions/4883613

  •  28-10-2019
  •  | 
  •  

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?

Foi útil?

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 />")
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top