前台用了DataList
<asp:DataList ID="Lib" Runat="server">
  <ItemTemplate>
    <%# DataBinder.Eval(Container.DataItem, "Title") %>
  </ItemTemplate>
</asp:DataList>
<%# DataBinder.Eval(Container.DataItem, "Title") %>的内容我只想要10个汉字,两个字母算一个汉字,如果不在后台处理,只在前台怎么弄,谢谢大家了!!!

解决方案 »

  1.   

    <%# Convert.ToString(DataBinder.Eval(Container.DataItem, "Title")).substring(0,10) %>
    这种思路应该可以  我没时间测  你试试
      

  2.   

    <%# ((string)DataBinder.Eval(Container.DataItem, "Title").Substring(1,10) %>
      

  3.   

    <%# Convert.ToString(DataBinder.Eval(Container.DataItem, "Title")).Substring(0,9) %>
      

  4.   

    不行呀,如果字数不够10个会出错:索引和长度必须引用该字符串内的位置。参数名: length 
      

  5.   

    <%# mySub(DataBinder.Eval(Container.DataItem, "Title").ToString()) %>你需要判断一下你的Title字段的长度,不能直接使用substring,不然会超出索引的。
    你的意思是想要10个汉字,如果是字母的话就2个算一个汉字,对吧?
    那如果:“ab测试abc测试a测试b测试c”??你想要的结果是什么?
    cs:
    public string muSub(string strtitle)
    {
        if(strtitle.length>10)
            return strtitle.substring(0,10);
        else
            return strtitle;
    }
      

  6.   

    我想要的结果是:ab测试abc测试a能实现吗?
      

  7.   

    错了,这些方法只能得到的结果是:ab测试abc测试a
    我想要的是:ab测试abc测试a测试bc
      

  8.   

    原理是判断中英文的字符码值,中文算2个字符,英文1个。        public string CutString(string str, int length)
            {
                string delsqace = str.Trim();
                int i = 0, j = 0;
                foreach (char chr in delsqace)
                {
                    if ((int)chr > 127)
                    {
                        i += 2;
                    }
                    else
                    {
                        i++;
                    }
                    if (i > length)
                    {
                        delsqace = delsqace.Substring(0, j) + "...";
                        break;
                    }
                    j++;
                }
                return delsqace;        }
      

  9.   

    如果你想要“ab测试abc测试a”的话,就说明你要的是10个字符。
    那就用我给你写的那个mysub方法就足可以实现啊。
      

  10.   

    字符串“ab测试abc测试a测试b测试c”取10个
    你想要“ab测试abc测试a测试bc”???你觉得行嘛?
    你凭什么就跳过最后一个“测试”而直接要“c”呢?这点电脑怎么判断?
    其实你要的是20个字节?对吧,一个汉字就相当于2个字节,一个字母或数字就是1个字节。
      

  11.   

    Click the link to solve your problem.Good luck!