【发布时间】:2010-02-01 17:07:21
【问题描述】:
我有一个已经手动数据绑定的下拉列表。我目前获取数据,遍历每个项目,并根据项目中的值,更改单个 ListItem 的 css。
例如:
foreach (Site mySite in myList)
{
ListItem li = new ListItem(mySite.FullAddress, mySite.Id.ToString());
if (mySite.DisabledFlg)
{
li.Attributes.Add("style", "color:#999");
}
this.Items.Add(li);
}
我试图强制列表项中的文本在某些点中断。我从数据源中检索的字符串当前在应该有换行符的任何地方都有一个“\r\n”。这适用于在普通文本框中显示,但不适用于列表项。
我尝试用"<br>" 替换“\r\n”,但是当我这样做时,它只会在列表中显示<br> 以及其余文本。我尝试将 listitem 内容包装在带有 width 属性的 "div" 中,但它也只是在 ListItem 文本中显示"div" 标签。
我还尝试在绑定时将以下内容添加到 ListItem 属性中:
li.Attributes.Add("width", "100px");
但这也没有导致任何变化。
我见过自定义下拉列表控件,其中包含多行列表项。如何获得相同的结果?
【问题讨论】:
-
“我见过自定义下拉列表控件,其中包含多行列表项” - 您可以指向我们的任何公共 URL,以便我们知道您在追求什么?
-
我最终做的是使用 AjaxControlToolkit 的 DropDownExtender 使用文本框和带有可选行的单列网格视图制作一个假下拉列表。它实现了我正在寻找的结果,因为使用标准下拉列表控件实际上是不可能的。
标签: c# asp.net drop-down-menu line-breaks listitem