日期:2014-05-20  浏览次数:20581 次

如何防止datalist中的Label撑破宽度?
datalist中有个Label绑定“回复内容”,但是只要有一行的字符太多时,就会把页面撑的很宽。
请问如何让Label的内容字段换行?
(用TextBox代替可以自动换行,但是不能自动设置高度。)

附代码:
<td   style= "height:   81px;   width:   770px; ">
        <asp:DataList   ID= "DataList1 "   runat= "server "   Width= "770px ">
                <ItemTemplate>
                        <table   border= "0 "   bordercolor= "#b0c4de "   width= "770px ">
                                <tr> <td> ... </td> </tr>
                                <tr>  
                                        <td   style= "width:770px;   word-break:break-all; ">

                                        <asp:Label   ID= "Label2 "   runat= "server "   Text= ' <%#   " <pre> "   +   DataBinder.Eval(Container.DataItem, "ReplyContent ")+ " </pre> "   %> '> </asp:Label>
                                        </td>
                                </tr>
                        </table>
                </ItemTemplate>
        </asp:DataList>
</td>

//-------------------
问题是:怎样固定上面的Label2的宽度?  

如果上面绑定数据时不加 <pre> </pre> 的话,会自动换行,但是段落格式没有了,有其它办法不加 <pre> 就能还原段落格式的吗?

------解决方案--------------------
给datalist加个style

datalist.Style[ "table-layout "]= "fixed ";
------解决方案--------------------
<TR> <TD > <DIV style= "width:770px; word-break:break-all; "> <%#DataBinder.Eval(Container.DataItem, "ReplyContent ")%> </DIV> </TD> </TR>
------解决方案--------------------
用DIV控制啊.
<div style= "width:130px; overflow:hidden;text-overflow:ellipsis ">
<nobr> 就是比如有一行文字,很长,表格内一行显示不下. </nobr>
</div>
------解决方案--------------------
<DIV style= "width:770px; word-break:break-all; ">
<%#DataBinder.Eval(Container.DataItem, "ReplyContent ").ToString()%>
</DIV>
------解决方案--------------------
word-break:break-all
------解决方案--------------------

<TR>
<TD >
<DIV style= "width:770px; word-break:break-all; ">