我在包含“列”表中有一些嵌套表。底部表格只包含一个多行文本区域,用户可以在其中发布评论。当用户保存页面时,我想将每个单独的注释行捕获为无序列表中的元素。这是HTML:
<td><strong>Key Messages:</strong><asp:Label runat="server" ID="messagesLabel"></asp:Label>
<div id="messagesDiv" runat="server">
<asp:TextBox runat="server" ID="MessagesTextbox" Width="100%" TextMode="MultiLine" Height="100" Columns="10"></asp:TextBox>
<asp:Button runat="server" ID="clearMessages" Text="Clear Messages" OnClick="ClearMessages_Click" />
</div>
</td>
我的问题是,当无序列表回发到页面时,非常长的行将表拉伸超出所需的宽度。我希望在某些时候有更长的评论包装,同时仍然只是列表中的一个元素 - 即一个子弹。我试过设置MaxLength和Columns属性没有运气。
编辑:
我尝试了第一个建议:
ul
{
width: 50px;
}
li
{
width: 50px;
}
但它对布局没有影响。任何宽度值的布局都没有改变。
我尝试使用第二种解决方案,但我的编辑器中没有CSS属性“word-wrap”。我在Visual Web Developer Express 2010中编程,它支持CSS 2.1所以,据我所知,我应该能够设置这个属性,但我不能。无论如何我都尝试了它,它对布局没有任何影响。
编辑:
以下是我创建列表的方式:
XmlDocument xdoc2 = new XmlDocument();
xdoc2.Load(messagesFileLocation);
XmlNodeList messagesList = xdoc2.GetElementsByTagName("message");
if (messagesList.Count > 0)
{
string unorderedList = "<ul>";
for (int i = 0; i < messagesList.Count; i++)
{
XmlNode node = messagesList.Item(i);
string message = node.InnerText.ToString();
unorderedList += "<li>" + message.ToString() + "</li>";
}
unorderedList += "</ul>";
messagesDiv.InnerHtml = unorderedList;
}
用户编辑实际上首先保存到XML文件,然后发回页面。
答案 0 :(得分:3)
指定ul和li元素的宽度,您的内容应该换行。同时将父元素设置为高度:auto;所以高度随着内容大小的增加而变化。
如果你发布更多代码,我可以给你一个更好的主意。
答案 1 :(得分:-1)