限定label固定宽,加上word-break:break-all;

解决方案 »

  1.   

    <asp:Label id=lbContent runat="server" style="word-break:break-all;" Text='<%# DataBinder.Eval(Container, "DataItem.NContent").ToString() %>'>
      

  2.   

    Label控件本身是会自动折行的,从你提供的信息不好看出什么问题。
      

  3.   

    Bird:
    qiuji(忆秋季) 说得对
      

  4.   

    to crodling(蓝风) :
    你的方法确实可以换行,但是因为这样会强行拆分单词,容易产生混淆。
    例如:
    如果当用户输入中出现了goto这个单词,则可能出现这种情况:第一行最后显示go,第二行开始显示to,那别人浏览时怎么知道到底时goto还是go to呢?这样正常的输入就受影响了。
      

  5.   

    在外面的atagrid写<asp:datagrid style="word-break:break-all">
      

  6.   

    to:qiuji(忆秋季) 
    请问还有更好的解决方法吗??to:net_lover(孟子E章) ,你这个方法和crodling(蓝风) 的又什么区别呢??好像结果都是一样的啊!!
      

  7.   

    to IamBird(IamBird):
    用你原来的方法就可以了,可以不要考虑这种连续字母输入的情况。因为你的留言板中需要保留的是真正有用的东西,你应该经常管理留言的,如果用户连续输入字母,这样的留言完全可以删除,因为一点价值没有,保留在上面肯定没有用。我想,即使这个问题解决了,那样的留言你也会删除的,不是吗?当然,要是有办法能够完美的解决此情况则更好了,帮你留意一下。
      

  8.   

    to:
    qiuji(忆秋季) 是的,你说的对
      

  9.   

    但是如果我这样输入的话aabbccdd在显示页面中显示的是一行的,这样就达不到输入时候的效果了!!这个该怎么办呢??
      

  10.   

    有个Replace的函数,但是我在这里就不知道怎么用??
      

  11.   

    你可以这样:
    首先格式化字符串:
    private string formatString(string str)
    {
    str=str.Replace(" ","&nbsp;");//处理空格
    str=str.Replace("<","&lt;");//处理小于号
    str=str.Replace(">","&gt;");//处理大于号
    str=str.Replace("\n","<br/>");//处理换行
    return str;
    }然后,在添加到数据库时,不是添加TextBox1.Text到数据库,而是添加myText
    (其中myText=formatString(TextBox1.Text.ToString());)
      

  12.   

    不好意思,有一处写错了:
    str=str.Replace("\n","<br/>");//处理换行
    改成:
    str=str.Replace("\n","<br>");//处理换行
      

  13.   

    但是 qiuji(忆秋季) 
    如果他一直写下去,而不按回车的话那么你就如同IamBird (IamBird) 界面上显示的一样,一直拉伸下去,像在csdn里面回复的话,经常都不直接按回车来换行的,那么如果想你这样处理的话,整个边框就撑大了,IamBird (IamBird) 的那个留言版想必是要用来留言的那么中文应该不会存在一个字被拉成俩伴吧:)
    下面是测试
    place Replace Replace Replace Repace Replace Replace Replace Replace ReplReplace Relace Replace Replace ReplaceReplaceReplace Replace Replace ReplaceReplace Replace Replace Replacesd d sd fsdf  sdf f sdf sdf sdf sddddddddd s  s d ssssssss sd dsds
      

  14.   

    to crodling(蓝风):
    我上面的代码可以处理用户的换行、空格、<和>,连续的字母输入(很长字母间没有空格)会拉长的,但是正常的英文输入是不会拉长的。你给的测试代码我已经试验过了,没有问题,会自动换行的。>>>>中文应该不会存在一个字被拉成俩伴吧:)
    中文当然不会被拉成两半,也会自动换行的。
      

  15.   

    string StrNew = StrOld.ToString().Replace( " ", "&nbsp;" ).Replace( Convert.ToString( ( char ) 10 ), "&nbsp;" ).Replace( Convert.ToString( ( char ) 13 ), "<br>" );