2009-07-24 40 views
0

asp.netでDetailsViewを使用するようにページを更新しました。これにはMultiLineテキストボックスが含まれており、詳細ビューのEditItemTemplateにあります。問題は、このデータ(データベースに格納されている)を出力するときに、vbCrLf(新しい行のコンスタント - > VB、キャリッジリターン、ラインフィード)を< br/>に置き換えていたことです。詳細ビューには、vbCrLfが存在せず、replace(str、vbCrLf、 "< br/>")の後に、テキストボックスに改行があったHTMLブレーク(< br/>)の代わりに、それはすべて1行で表示されます。これをどうすれば解決できますか?ありがとう。改行が含まれていますが、データベースからデータを取っている場合はfalseDetailsView(asp.net)のテキストエリアの改行

答えて

1

環境を試してください.NewLine

+0

提案に感謝しますが、これはうまくいきません。 linqはそれを何か他のものに置き換えますか? textareaはまだラインブレイクがあることを知っているようですが、vbCrLf、Environment.NewLineなどを置き換えることはそこにあるようではありません。 – Ryan

+0

linqがそういうことをするかどうか分かりません。私はちょうど私が値を読んで、代替えを行い、新しい値を出力し、うまくいった簡単なテストをしました。おそらく、文字列の実際の値が何であるかを見るために両端でデバッグを試みるべきでしょう。 – drs9222

0

、その後、ちょうどあなたがする必要はありません...そこにそれらを残しおよびTextAreaがうまく動作するはずです"< BR/>"と置き換えてください。テキストをHTMLとしてページに挿入する場合は、これを行う必要がありますが、入力コントロールを入力しようとしています。そうしない限り

+0

どのようなコントロールですか? – Ryan

+0

私はすべての関連するコントロールを見てみましたが、どこにでもhtmlEncodeプロパティが表示されません – Ryan

0

にhtmlEncodeを設定

+0

私ははっきりしていない場合はごめんなさい...私はこのデータを別の場所に出力しています。テキストエリアに戻すとうまく動作します。そこには改行があります。私が他の場所(テキストエリアではない)にHTMLを出力すると、それは
で置き換えているのですが、vbCrLfを見つけられません – Ryan

0

テキストエリアコントロールでは、長いテキストに改行があるようですが、改行がないことがあります。テキストがテキスト領域の長さに達すると、2行目に続きますが、改行は含まれていません。ユーザーがEnterを押すと、新しい改行がコンテンツに追加されます。

あなたはその点を見逃していると思います。

希望します。

+0

いいえ、私はその点を完全に理解していません...私の質問の反対です。私は、ユーザーが入力した改行を取得したい。たとえば、ユーザーの種類が1 (ヒットを返す) ライン2 を並べるとき...私は私がページに出力していたときに、それらの行はHTMLの改行(
)を破る置き換えたいです。私はテキストがワードラップすることを知っています、それは問題ではありません。 – Ryan

+0

私が言ったように、DetailsViewに入る前にうまくいきましたが、何らかの理由で詳細ビューがvbCrLf文字を変更しているようです(これは
で置き換えられました。改行文字はvbCrLfではないため、ページに出力するときに
に置き換えられません。 – Ryan

0

私はいつもVB.NETの文字コード - < br/>に置き換えて改行を表示しています。試してみてください。

+0

こんにちは、どのように文字コードを置き換えますか?置換(stringField、char(10)、 "
")を試しましたが、charは型であり、式として使用できないと言います。 – Ryan

+0

zakster82はchr(10)はchar(10)ではありません。私は個人的にはC#を使用しているので、これについてはわかりませんが、chrは整数をASCII文字に変換するための古いvb関数だと思います。 VB.NETに存在するかどうかはわかりません。 VB.NETまたはC#を使用しているかどうかわからないので、System.Convert.ToChar(10)のようなものをお勧めします。 – drs9222

関連する問題