如何仅将ASP ListBox列表项中部分文本设为绿色而非整项?
搞定ListItem局部文本变色的小技巧
嘿,我懂你现在的困扰——想只让“New:”变成绿色,结果整个列表项都跟着绿了对吧?别着急,这是因为你把样式直接加在了<asp:ListItem>标签上,它会作用于整项的所有内容。咱们换个思路,用内嵌HTML标签精准控制样式范围就行:
<asp:ListItem Value="4" onclick="CheckAllConditions();"> <span style="color:green">New:</span> I understand and agree..... </asp:ListItem>
为啥原来的写法不行?
之前你把style="color:green"直接加在<asp:ListItem>上,这个样式会被应用到整个列表项的文本上,自然整行都变绿了。而用<span>只包裹需要变色的“New:”部分,就能把样式限制在指定文本范围内,后面的内容还是保持默认颜色。
动态生成项的补充方案(如果需要的话)
要是你的列表项是从后台代码动态添加的,也能用类似思路拼接带HTML的文本:
// C#后台示例 ListItem newConditionItem = new ListItem(); newConditionItem.Value = "4"; newConditionItem.Attributes["onclick"] = "CheckAllConditions();"; // 拼接带span的文本内容 newConditionItem.Text = "<span style='color:green'>New:</span> I understand and agree....."; yourListBoxControl.Items.Add(newConditionItem);
记得确认一下你的ListBox控件的EnableHtmlRendering属性是true(默认就是true,但如果之前被修改过的话要改回来),这样内嵌的HTML才能被正确渲染出来。
内容的提问来源于stack exchange,提问作者Agnes
相关产品推荐
相关产品推荐

