在VB.NET中的多行文本框回发期间插入了额外回车符

时间:2015-05-13 15:01:12

标签: asp.net vb.net oracle textbox

环境:Visual Studio 2013 - Framework 4.0,IE11,Oracle 11g

我有一个带有TextMode = TextBoxMode.MultiLine的ASP.NET TextBox,它正在填充来自Oracle的数据。同样的数据也被添加到ViewState变量中,因为我需要在单击“保存”按钮时回发页面时找到原始数据库值和多行文本框值之间的差异。

如果我要更改文本框中的值,它应该是不同的。但是,即使我在保存多行文本框中没有更改任何内容,这些值也会相同。

奇怪的是,这只发生在IE11中。 Google Chrome很好!

我尝试在点击保存按钮后将两个值都转换为ASCII,并发现多行文本框为新行添加了额外的回车符(ASCII值 - 13)。

ViewState中的字符串将新行转换为ASCII 10,而Textbox中的相同字符串将新行转换为ASCII 13(回车符)和ASCII 10(换行符号)。

我的解决方案是从文本框中删除额外的13(回车),同时进行比较并保存。

我只是想看看是否有其他人遇到过这个问题,是否有.NET修复它或者我做错了什么? (我怀疑它在铬中工作正常)

感谢您的投入。

1 个答案:

答案 0 :(得分:0)

网页设计的一般经验法则仍然有用:IE会让你发疯。