因为中文和英文所占位置不同,一个能显示5个中文的位置应该能显示10个英文
  ///   内容摘要:按字节截断字符串。  
                  ///   </summary>  
                  public   static   string   GetSubString(string   mText,int   startIndex,int   byteCount)  
                  {  
                          if(byteCount   <   1   )   return   string.Empty;  
                         
                          if(     System.Text.Encoding.Default.GetByteCount(mText)<=   byteCount)  
                          {  
                                  return   mText;  
                          }  
                          else  
                          {  
                                  if(startIndex   ==   0)  
                                  {  
                                          byte[]   txtBytes   =   System.Text.Encoding.Default.GetBytes(mText);  
                                          byte[]   newBytes   =   new   byte[byteCount];  
                                   
                                          for(int   i=0;i<byteCount;i++)  
                                                  newBytes[i]   =   txtBytes[i];  
   
                                          return   System.Text.Encoding.Default.GetString(newBytes);  
                                  }  
                                  else  
                                  {  
                                          string   tmp   =   GetSubString(mText,0,startIndex-1);  
                                          mText   =   mText.Substring(tmp.Length);  
                                          return   GetSubString(mText,0,byteCount);  
                                  }  
                          }  
                  }  
                  public   static   string   GetSubString(string   mText,int   startIndex)            
                  {  
                          return   GetSubString(mText,startIndex,System.Text.Encoding.Default.GetByteCount(mText)-startIndex+1);  
                  }

 

使用方法:
在数据绑定的地方输入这个,代替原来的<% Eval("text") %>
 <%# GetSubString(DataBinder.Eval(Container.DataItem,"text").ToString(),0,10)%>

---------------------------------------------------------------------------------
protected   string   CutString(string   str,int   length)
{
  string   newString= " ";
  if(str!= " ")
  {
    if(str.Length> length)
    {
      newString=str.Substring(0,length)+ "... ";
    }
    else
    {
      newString=str;
    }    
  }
  return   newString;
}


<%#   CutString(DataBinder.Eval(Container.DataItem, "newtitle ").ToString(),10)   %>


 

posted on 2010-07-31 16:20  numb'  阅读(115)  评论(0)    收藏  举报