从过去一两周开始,我注意到我在基于ASP.NET Web表单的网站中使用的任何多行文本框都会自动向文本框添加换行符。
在几乎所有asp.net网络表单网站都面临这个问题之前,这从未发生过
<textarea name="txtComment" rows="2" cols="20" id="txtComment" tabindex="4" class="comment-box">
</textarea>
我不确定为什么会这样。当我们更新页面时,它变得很糟糕;如果我们不手动删除换行符,它将继续在多行文本框中添加换行符。我不确定此问题是否是由于某些Windows更新或浏览器引起的。发生在Firefox中,后来我在Chrome中注意到了吗?
不确定为什么会这样
示例:代码
<asp:TextBox ID="TextBox2" runat="server" TextMode="MultiLine" Rows="3"> Line </asp:TextBox>
</div>
</form>
HTML呈现的输出
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>
</title></head>
<body>
<form method="post" action="./TESTMultiline.aspx" id="form1">
<div class="aspNetHidden">
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJNjQ0NTE4MDYwZGRecdSIl8wWZzLW33b1SXrfQmgMkA==" />
</div>
<div>
<input name="TextBox1" type="text" id="TextBox1" />
<textarea name="TextBox2" rows="3" cols="20" id="TextBox2"> Line </textarea>
</div>
<div class="aspNetHidden">
<input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="F8195D5B" />
<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEdAAN9qVvxr9edjD9ICF1fyY9rESCFkFW/RuhzY1oLb/NUVB2nXP6dhZn6mKtmTGNHd3PbNvMJfATDdpnltdJAG8xg/EABZA==" />
</div></form>
<!-- Visual Studio Browser Link -->
<script type="application/json" id="__browserLink_initializationData">
{"appName":"Firefox","requestId":"b33e31c27a494a9c8d0d82b3f5432ca7"}
</script>
<script type="text/javascript" src="http://localhost:61571/7d590f801da8489ebffe28d952f8f4af/browserLink" async="async"></script>
<!-- End Browser Link -->
</body>
</html>
输出
答案 0 :(得分:2)
问题与呈现TextBox控件的方式有关。更改web.config中的controlRenderingCompatibilityVersion的值对我有用:
controlRenderingCompatibilityVersion=4.5
信息来自问题Extra characters added to multiline textbox,来自JTapp / jmoreno的答案。
答案 1 :(得分:0)
只需从此行中删除
<textarea name="TextBox2" rows="3" cols="20" id="TextBox2"> Line </textarea>
答案 2 :(得分:0)
两个选项:
TextBox2.Text = "Line";
已编辑: