环境: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修复它或者我做错了什么? (我怀疑它在铬中工作正常)
感谢您的投入。
答案 0 :(得分:0)
网页设计的一般经验法则仍然有用:IE会让你发疯。