禁用时ASP.net文本框滚动

时间:2009-06-25 17:00:48

标签: c# asp.net asp.net-3.5

问候, 我有一个表单,员工在多行文本框中输入注释,限制为4000个字符。我将行设置为8(显然是一个任意数字)。

当主管查看注释时,文本框被禁用,因此不能修改员工注释。

问题是当数据扩展到第8行以下时。由于文本框被禁用,滚动条无法移动,主管无法看到所有注释。如果我将文本框和数据绑定隐藏到主管的标签中,则不会保留任何换行符,并且写得好的段落将成为句子中最大的句子...

有没有办法启用滚动条使文本禁用?
有没有办法保留标签中条目的结构?

4 个答案:

答案 0 :(得分:16)

您应该将ReadOnly property设置为True,而不是禁用文本框。这使滚动条保持功能,但不允许修改文本框。

txtComments.ReadOnly = true;

答案 1 :(得分:3)

在管理员模式下,不要将文本放入文本框中,如上所述将其放入标签中,并在代码中使用“.Replace(”\ n“,”< br>“)”。

或者,显示文本框而不禁用它,只需禁用“保存”按钮。在页面上写下一条说明,“此处所做的更改不会持续存在”或类似的事情。

答案 2 :(得分:2)

将文本框设为只读,并将前颜色设置为禁用文本框中使用的相同颜色。

<asp:TextBox ForeColor="#AFAFAF" ReadOnly="true" />

答案 3 :(得分:0)

将文本放在PRE标记中,并将overflow:scroll应用于它。

请务必先使用Server.HtmlEncode转义文本。