asp:TextBox with TextMode="MultiLine" Wrap="True" 不会换行

gli*_*sfa 7 html css asp.net textbox word-wrap

更新:下面的问题仍然有效,但我在 Chrome 中测试了我的页面,它按预期工作。当我在 IE 中点击页面时,它不会换行。我现在将开始研究这种差异。如果您知道 IE 修复程序,请告诉我。谢谢

我有一个不会换行的 asp:TextBox。我已经看到多篇文章说我必须有TextMode="MultiLine" Wrap="True",我确实有,但我的文本仍然超出了文本框。

我不认为我需要发布整页,但如果我这样做了,请告诉我。这是我的 asp:TextBox,以及作用于<TD>. 如果您明白为什么我的文字没有换行,请告诉我?!

            <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>
Run Code Online (Sandbox Code Playgroud)

这里是 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;
        }
Run Code Online (Sandbox Code Playgroud)

gli*_*sfa 5

是我找到解决方案的文章,它基本上说最新的 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;
}
Run Code Online (Sandbox Code Playgroud)

这让一切都结束了!