ASP.net文本框在禁用时如何滚动

5
问候, 我有一个表单,员工在其中使用多行文本框输入评论,限制为4000个字符。我将行数设置为8(显然是一个任意的数字)。
当主管查看评论时,文本框被禁用,因此无法修改员工的评论。
问题是当数据超出第8行时。由于文本框被禁用,滚动条不能移动,主管无法查看所有的评论。如果我隐藏文本框并绑定到主管的标签,则不会保留任何换行符,并且精心编写的段落会变成最长的连续句子...
是否有一种方法可以启用滚动条,同时使文本框仍处于禁用状态? 是否有一种方法可以在标签中保留输入内容的结构?
4个回答

17

你应该将ReadOnly属性设置为True,而不是禁用文本框。这会使滚动条仍然可用,但不允许修改文本框内容。

txtComments.ReadOnly = true;

3
在监管模式下,不要将文本放入文本框中,如你所提到的,请将其放入标签中,并在代码中使用“.Replace("\n", "<br>")”。或者,显示文本框但不禁用它,只禁用“保存”按钮。在页面上添加一条说明,“此处所做的更改不会被保留”或类似内容。

标签/替换功能非常好用... 设置BorderStyle="Solid" BorderWidth="1",它可以融入页面中... 谢谢!!! - DiningPhilanderer

2

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

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

0
将文本放入 PRE 标签中,并对其应用 overflow:scroll。
确保首先使用 Server.HtmlEncode 转义文本。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接