2016-03-07 107 views
2

更新:下面的问题仍然有效,但我在Chrome中测试了我的页面,并且它按预期工作。当我在IE中打开页面时,它不会换行。现在我将开始研究这种差异。让我知道如果你知道这个IE修复。谢谢asp:TextBox with TextMode =“MultiLine”Wrap =“True”不会换行

我有一个asp:TextBox不会换行。我碰到了多篇文章,说我必须有TextMode="MultiLine" Wrap="True",而且我也这样做了,但是我的文本仍然用完了文本框。

我不认为我需要发布整个页面,但告诉我,如果我这样做。这里是我的asp:TextBox,以及作用于<TD>的CSS类。请让我知道,如果你明白为什么我的文字不包装?!

  <td class="auto-style130" > 
       <asp:TextBox ID="lbl_pain1_drug" Width="400px" runat="server" Rows="4" 
        TextMode="MultiLine" Wrap="True" ReadOnly="true" BorderStyle="None" 
        BorderWidth="0" Font-Names="Tahoma" Height="55px" 
        style="overflow:hidden" > 
       </asp:TextBox> 
      </td> 

这里是class="auto-style130"

.auto-style130 { 
      /*sig section of script*/ 
      border: .1px solid #808080; 
      word-wrap: break-word; 
      word-break: break-all; 
      height: 50px; 
      width: 402px; 
      vertical-align: middle; 
     } 
+0

文本框自动换行内容。但是如果你想在标签中显示它,它不会。此外,如果您编写的任何内容没有像“aaaaaaaaaaaaaaaaaaaaaaaa ....”那样的空间,则它不会包装内容,因为它不会在内部找到空间。所以请确认您在文本框中编写的内容。 –

+0

@glitzsfa你试过了吗?单词:break-all; word-wrap:break-word;' – Webruster

+0

Piyush这是一个TextBox,而不是一个标签,@Webruster我试过了你的建议,但它没有奏效。我上面编辑了我的问题以反映更新后的代码。 – glitzsfa

回答

1

Here是我找到的解决方法的文章,它基本上说,最新的IE浏览器处理文本换行只是比以前有点不同。解决方案是添加white-space: pre-wrap;我的CSS。这是新块看起来像:

.auto-style130 { 
    /*drug section of script*/ 
    border: .1px solid #808080; 
    white-space: pre-wrap; 
    height: 35px; 
    width: 402px; 
    vertical-align: middle; 
} 

这使得一切都包装!