【问题标题】:ASP.net textbox scrolling when disabled禁用时 ASP.net 文本框滚动
【发布时间】:2013-03-15 06:33:01
【问题描述】:

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

当主管查看 cmets 时,文本框被禁用,因此无法修改员工 cmets。

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

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

【问题讨论】:

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


    【解决方案1】:

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

    txtComments.ReadOnly = true;
    

    【讨论】:

      【解决方案2】:

      在主管模式下,不要将文本放入文本框中,将其放入您提到的标签中,在代码中使用 '.Replace("\n", "
      ")'。

      或者,显示文本框而不禁用它,然后禁用“保存”按钮。在页面上写下“此处所做的更改不是持久的”或类似内容的注释。

      【讨论】:

      • 标签/替换就像一个魅力...设置 BorderStyle="Solid" BorderWidth="1" 并融入页面...谢谢!!!
      【解决方案3】:

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

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

      【讨论】:

        【解决方案4】:

        将文本放入 PRE 标记中,并对其应用overflow:scroll

        确保首先使用Server.HtmlEncode 转义文本。

        【讨论】:

          猜你喜欢
          • 2021-10-13
          • 2010-11-28
          • 1970-01-01
          • 1970-01-01
          • 2012-08-27
          • 1970-01-01
          • 1970-01-01
          • 2010-11-26
          • 2012-10-29
          相关资源
          最近更新 更多