Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Asp文本框xhtml和额外换行符_C#_Asp.net_Xhtml_Textbox - Fatal编程技术网

C# Asp文本框xhtml和额外换行符

C# Asp文本框xhtml和额外换行符,c#,asp.net,xhtml,textbox,C#,Asp.net,Xhtml,Textbox,当ASP文本框控件设置为多行并作为xhtml提供页面时,似乎存在问题。我正在从事的项目使用内容协商将asp页面作为应用程序/xhtml+xml提供给支持它的浏览器。问题是,当asp textbox向页面呈现文本区域时,它会显式地在文本前添加换行符。textbox渲染方法的反射如下所示: if (TextMode == TextBoxMode.MultiLine) HttpUtility.HtmlEncode(Environment.NewLine + this.Text, (TextWriter

当ASP文本框控件设置为多行并作为xhtml提供页面时,似乎存在问题。我正在从事的项目使用内容协商将asp页面作为应用程序/xhtml+xml提供给支持它的浏览器。问题是,当asp textbox向页面呈现文本区域时,它会显式地在文本前添加换行符。textbox渲染方法的反射如下所示:

if (TextMode == TextBoxMode.MultiLine)
HttpUtility.HtmlEncode(Environment.NewLine + this.Text, (TextWriter) writer);
当firefox和opera使用xhtml内容类型时,它们会将换行符解释为文本区域中文本的一部分,因此我会在文本区域的开头添加额外的换行符


我可以将textbox子类化并覆盖render,但这似乎有点矫枉过正了。有没有其他方法来纠正这个问题?有人知道asp textbox为什么会这样做吗?

子类化的另一种方法是使用控制适配器,或者编写
,我认为我们将使用控制适配器方法,因为它将应用于所有现有的文本区域。缺点是所有的渲染仍然需要重新实现,但我看不出有多少方法可以解决这个问题。以前从未听说过控制适配器,感谢您指出它们。