我知道解决方案一定很简单。
我想以编程方式在 li 中添加带有 html 标记的列表项
string x = "xxxx <br/> yyyy"
BulletedList.items.add(x)
我想看看
- xxx
yyy
并不是
- xxx <br/> 年年
要对每个列表元素上呈现的 HTML 具有更大的灵活性,请考虑使用 aRepeater
或 aListView
代替。它们需要更多的 HTML 来设置您的<ul>
和<li>
标记,但会给您在<li>
.
<ul>
<asp:Repeater ID="repeater" runat="server">
<ItemTemplate>
<li>
<div>Any HTML or data binding you want.</div>
</li>
</ItemTemplate>
</asp:Repeater>
</ul>
BulletedList 控件将删除您放入其中的任何 html。您将不得不对其进行子类化并覆盖它的渲染方法来实现这一点。
我使用以下内容将 CssClass 与列表中的项目相关联,然后我可以使用它来美化它们。
public class CustomBulletedList : BulletedList
{
protected override void Render(HtmlTextWriter writer)
{
var sb = new StringBuilder();
var sw = new StringWriter(sb);
var htmlWriter = new HtmlTextWriter(sw);
base.Render(htmlWriter);
sb = sb.Replace("<div class=notes>", "<div class=notes>");
sb = sb.Replace("</div>", "</div>");
writer.Write(sb.ToString());
}
}
删除 </BR> 标签如下:
string x = "xxxx yyyy"
摆脱<br />
标签。