複数行に設定してページをxhtmlとして提供する場合、ASPテキストボックスコントロールに問題があるようです。私が取り組んでいるプロジェクトでは、コンテンツネゴシエーションを使用して、aspページをそれをサポートするブラウザーにapplication / xhtml+xmlとして提供しています。問題は、asp textboxがテキストエリアをページにレンダリングするときに、テキストの先頭に改行を明示的に追加することです。テキストボックスのrenderメソッドの反映は次のようになります。
if (TextMode == TextBoxMode.MultiLine)
HttpUtility.HtmlEncode(Environment.NewLine + this.Text, (TextWriter) writer);
Firefoxとオペラがxhtmlコンテンツタイプでこれを提供されるとき、それらは改行をテキスト領域のテキストの一部として解釈するので、テキスト領域の先頭に余分な改行を取得します。
テキストボックスをサブクラス化してレンダリングをオーバーライドすることはできますが、このようなものを修正するには少しやり過ぎのようです。これを修正する別の方法はありますか?そして、asp textboxがとにかくこれを行う理由を誰かが知っていますか?