このようにMultiline Textbox
の値を設定します。
textBox1.Text = "Line1\r\n\r\nLine2";
ただし、出力では1行のみです。
Textboxの値を読み取るとき、"Line1\r\nLine2"
を読み取ります。
ASP.NETが複数のラインライン文字をサポートしないのはなぜですか?
同じ問題がありました。 Environment.Newlineを1つ追加すると、テキストボックスに新しい行が1つ追加されます。しかし、2つのEnvironment.Newlineを追加すると、1つの新しい行が追加されます。私のWebアプリでは、不要な空白をすべて削除する空白モジュールを使用しています。このモジュールを無効にすると、テキストボックスに2つの新しい行が表示されます。お役に立てば幸いです。
テキストボックスを複数行に設定する必要があります。これは2つの方法で実行できます。
コントロール内:
<asp:TextBox runat="server" ID="MyBox" TextMode="MultiLine" Rows="10" />
コードビハインド:
MyBox.TextMode = TextBoxMode.MultiLine;
MyBox.Rows = 10;
これは<textarea>
としてレンダリングされます
textBox1.Text = "Line1" + Environment.NewLine + "Line2";
また、マークアップにはTextMode = "MultiLine"を含める必要があります(そうでない場合は、テキストを1行として表示します)
<asp:TextBox ID="multitxt" runat="server" TextMode="MultiLine" ></asp:TextBox>
これを試して
textBox1.Text = "Line1" + Environment.NewLine + "Line2";
私のためにうまく働いています...
ページがIsPostbackの場合、次のコードは正常に機能します。しかし、ページが最初にロードされるとき、textareaに複数の改行はありません。バグ
textBox1.Text = "Line1\r\n\r\n\r\nLine2";
textBox1.Text = "Line1\r\r\Line2";
問題を解決しました。
TextBoxをドラッグしている間、プロパティのF4を押し、Multilineに設定されたTextmodeの下で、テキストボックスへの複数行の表現は、6辺でかなり大きくなる可能性があります。また、複数行を取得するためにnewline文字を含める必要はありません。複数行に設定しても、設計時にTextboxのサイズを大きくした可能性があります。