1

私は常にReplace(myString、vbCrLf、 "<br/>")を使用して、データベースからページに何かを送信するときに改行を表示しました(改行を保持します)。現在、フィールドの1つとしてtextareaを持ち、データソースとしてLinqDataSourceを使用するDetailsViewを使用しています。ユーザーがテキストエリアに改行を入力してページに表示できるようにしたい(HTMLで区切りを表示するために<br/>に置き換えた)。Linqは、改行を他の何かに置き換えているようです。これにより、Replaceステートメントで区切りが検出されないため、htmlが挿入されません<br/>。ただし、データベースからテキストエリアに値をロードする場合、改行はそのまま残ります。以下を<br>に置き換えてみましたが、どれも機能しません。

vbCrLf
vbNewLine 
Environment.NewLine 

...これらの機能はありません...休憩を表示するには、<br>で何を検索/置換する必要がありますか?

4

3 に答える 3

0

これは私にとって素晴らしい働きをします:

string Output = HttpUtility.HtmlEncode(DirtyText); // HTML Encode it first for safety..
return Output.Replace("\n", "<br />");             // Now replace New Lines with HTML BRs

最終的には安全にエンコードされた出力になりますが、ユーザーが標準のテキストエリアに入力したとおりに適切にフォーマットされた行間隔も得られます。

于 2010-12-31T04:14:42.710 に答える
0

文字列をバイト配列として見てください。改行の値は何ですか? ここには非常に多くのオプションしかありません.10、13、両方、どれもありませんか?

于 2009-07-27T18:00:40.727 に答える
0

TextArea uses different newline characters depending on the browser:

  • Internet Explorer: \r\n
  • FireFox: \n

It has also been suggested that \r is used in some cases, although, I haven't come across those cases.

Carriage return is encoded as %0D and Line feed as %0A. So if your text is HTML encoded (as it should be), then you need to replace %0D and/or %0A [depending on your environment] with your <br />

Here is a full discussion on the topic http://www.highdots.com/forums/html/standard-newline-character-264611.html.

于 2009-07-27T18:05:44.570 に答える