DropDownList的Item中插入前导空格

本文探讨了在HTML中实现带有缩进效果的下拉菜单时遇到的问题,并提供了两种解决方案:一是使用全角空格;二是利用半角空格的特殊编码。这两种方法都能有效避免浏览器将半角空格转换为不可见字符,从而实现实现所需的缩进效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

想要的效果如右图:

直接在Item的Text属性中写入前导半角空格是不行的,会被转化成 

<select>
    
<option value="0">Level 00</option>
    
<option value="1">&amp;nbsp;Level 01</option>
    
<option value="2">&amp;nbsp;&amp;nbsp;Level 02</option>
    
<option value="3">&amp;nbsp;&amp;nbsp;&amp;nbsp;Level 03</option>
    
<option value="4">&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Level 04</option>
</select>

即前面多了一个&amp;,导致空格不能正常显示

解决办法:

1、打开输入法,插入全角空格……

2、用半角空格的特殊编码

        char nbsp = (char)0xA0;

        
while (sdr.Read())
        
{
            
string text = "" + sdr["name"].ToString();

            ListItem l 
= new ListItem(text.PadLeft(loc_depth, nbsp), sdr["id"].ToString());
            ddlStructure.Items.Add(l);

            generateItem(sdr[
"id"].ToString(), ++depth);
        }

 

有人说用HtmlDecode()的方法来转化一下空格,经实验是不行的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值