直接写"Hello".PadLeft(20) 也不行
写成  <td><% ="1"+"Hello".PadLeft(20) %></td>的话,输出是
1 Hello
中间有1个空格
网页里就是多个空格的话就自动变成1个了,必须用&nbsp;才行

解决方案 »

  1.   

    你在 后台声明一个静态变量,对这个变量进行PadLeft  再绑定到前台。
      

  2.   

    想了一个笨方法实现
    <td><%="Hello".PadLeft(10,'*').Replace("*","&nbsp;") %></td>不知道有没有更好的方法?
      

  3.   


    这个我也考虑过,不是对齐的问题,字符中有空格的话左对齐也应该能显示出来
    我要做的效果是,绑定数据库的某张表
    这个表是有层级关系的树
    我要在一列上显示出层级关系,根据节点的深度在节点值的前面加不同个数的空格
    现在已经做出了效果,只是方法有待改善
    那你就先用你那种方式替换吧 不过个人感觉还不是很好的解决方案……
    要不你在td中加个div不同层级使用不同class
      

  4.   

    扩展方法!public static string PadLeft(this string target, int totalWidth, string paddingString)
    {
        int targetLength = 0;
        if(!string.IsNullOrEmpty(target))
            targetLength = target.length;
        if(targetLength >= totalWidth)
            return target;
        else
        {
            StringBuilder sb = new StringBuilder();
            for(int i = targetLength ; i < totalWidth; i++)
            {
                sb.Append(paddingString);
            }
            sb.Append(target);
            return sb.ToString();
        }
    }