我在做新闻系统时,用DataList:<%#DataBinder.Eval(Container.DataItem,"Title")%>绑定标题,但有时标题太长,所以只想显示前10个字.该如何操作?

解决方案 »

  1.   

    这样的话你最好是代码放到后来部分来写,DataList应该有类似OnCreateItem(或者OnContentCreate)这样的事件的,或者使用模版列,对相应的Item写代码判断,超过10字就加...。一个多月没有VS环境了,也不能帮你调试。sorry.
      

  2.   

    public string newContent(string Content)
    {
    if (Content.Length >15 )
    {
    Content = Content.Substring(0,15) + "...";
    }

    return Content;
    }
      

  3.   

    <%# GetShortString(DataBinder.Eval(Container.DataItem,"Title").ToString())%>后台
    public string GetShortString(string str)
    {
       if(str.length > 10)
           return str.subString(0,7) + "...";
       else
           return str;
    }
      

  4.   

    public int GetLength(string strString)
        {
            int m = 0;
            if (strString.Length == 0)
                return m;
            for (int i = 0; i <= strString.Length-1; i++)
            {            int intTemp = (short)strString.Substring(i, 1).ToCharArray(0, 1)[0];
                if (intTemp > 127 || intTemp< 0)
                    m += 2;
                else
                    m += 1;
            }
            return m;
        }    StringOp sop = new StringOp();
            if (sop.GetLength(str) > 82)
            {
                str = sop.StringOutOfRange(str, 72);
            }
      

  5.   

    <%# DataBinder.Eval(Container.DataItem,"Title").ToString().Length>15?(DataBinder.Eval(Container.DataItem,"Title").ToString().Substring(0,15)+".."):DataBinder.Eval(Container.DataItem,"Title").ToString() %>