1

我在包含“列”表中有一些嵌套表。底部表格只包含一个多行文本区域,用户可以在其中发表评论。当用户保存页面时,我想将每一行单独的注释捕获为无序列表中的一个元素。这是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 属性“自动换行”。我正在使用支持 CSS 2.1 的 Visual Web Developer Express 2010 进行编程,所以据我所知,我应该能够设置此属性,但我不能。无论如何我都试过了,它对布局没有影响。

编辑:

这是我创建列表的方式:

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 文件,然后再发回页面。

4

2 回答 2

3

指定 ul 和 li 元素的宽度,您的内容应该换行。还将父元素设置为 height:auto; 所以高度会随着内容大小的增加而变化。

如果您发布更多代码,我可以给您一个更好的主意。

于 2012-08-15T15:19:05.457 回答
-2

是的,我认为它可能检查这个

http://www.w3schools.com/cssref/css3_pr_word-wrap.asp

还有这个

http://webdesignerwall.com/tutorials/word-wrap-force-text-to-wrap

于 2012-08-15T15:42:11.077 回答