永发信息网

textbox多行 半角换行

答案:2  悬赏:40  手机版
解决时间 2021-05-09 11:51
  • 提问者网友:浩歌待明月
  • 2021-05-09 08:25

请教一个问题,我在前台有一个textbox,属性是多行,当从库里读出全角字符时会换行,可是半角字符时却把页面撑开了,这是为什么呢?是有什么属性进行设置吗?

我的textbox的大概属性是这样的:<asp:textbox runat="server" wrap="true" textmode="多行属性"/>

最佳答案
  • 五星知识达人网友:纵马山川剑自提
  • 2021-05-09 08:49

楼主的问题不在于输入框。而在于网页前台显示的问题。


在IE中,连续的半角字符会被认为是一个单词,默认是不会换行的。


必须采用CSS: word-break:break-all;word-wrap: break-word;


而且Firefox等非IE中,问题就更严重,没有特别好的办法。可以采取超出宽度自动隐藏的方式,或者程序判断一定的长度后,主动插入换行符。

全部回答
  • 1楼网友:第幾種人
  • 2021-05-09 09:18
因为在多行文本框中输入的回车,仅仅是一个回车符,而不是<br>或<p>,又因为网页的源代码中的回车符对于用户页言,是不会转行的,只会在源代码中体现出换行出来,所以你在输出显示的时候要进行替换。 下面是示例方法: 假设你原来是这样输出的: <%=rs("note")%> 改成: <%=replace(replace(rs("note"),vblf,"<br />"),"AA","B"%> 前面的一段是将vblf(换行符)替换成BR, 最后面的请将AA改成两个半角的空格,把B改成一个全角的空格(因为我在这儿发表的时候,百度会把它换掉。 在源代码中的多个半角空格,在显示的时候只会显示一个空格。)
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯