我在包含“列”表中有一些嵌套表。底部表格只包含一个多行文本区域,用户可以在其中发表评论。当用户保存页面时,我想将每一行单独的注释捕获为无序列表中的一个元素。这是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 文件,然后再发回页面。