小妹遇到如下问题!
<%# DataBinder.Eval(Container.DataItem,"Title")%>
这个绑定标题!
但有的标题太长,我想只显示10个字!后面的用省略号代替!这样怎么接取!
用Substring()怎么用!
或都有别的方法吗?
谢谢!!

解决方案 »

  1.   

    太简单了:
    后台加一个函数
    Public Function FormatStr(ByVal ob As Object) As String
            If ob.ToString().Trim() = "" Then
                FormatStr = ""
            Else
                If len(ob.ToString().Trim()) >10  Then
                FormatStr = ob.ToString().Trim().Substring(0, 10) + "....." 
                Else
                FormatStr = ob.ToString().Trim()        
            End If
    End Function前台:
    <%#FormatStr1(DataBinder.Eval(Container, "DataItem.DT")) %>'>

    我写的是vb.net,自己改为C#
      

  2.   

    前台:
    <%#FormatStr(DataBinder.Eval(Container, "DataItem.DT")) %>
      

  3.   

    Public Function FormatStr(ByVal ob As Object) As String
            If ob.ToString().Trim() = "" Then
                FormatStr = ""
            Else
                If len(ob.ToString().Trim()) >10  Then
                FormatStr = ob.ToString().Trim().Substring(0, 10) + "....." 
                Else
                FormatStr = ob.ToString().Trim()        
            End If
    End Function前台:
    <%#FormatStr1(DataBinder.Eval(Container, "DataItem.DT")) %>'>
    同意
      

  4.   

    private void dg_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if(e.Item.Cells[9].Text.Length>10)
    e.Item.Cells[9].Text = e.Item.Cells[9].Text.Trim().ToString().Substring(0,10)+"...";
    else
    e.Item.Cells[9].Text = e.Item.Cells[9].Text.Trim().ToString();
    }
      

  5.   

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

  6.   

    <%# DataBinder.Eval(Container.DataItem,"Title").ToString().Length>10?DataBinder.Eval(Container.DataItem,"Title").ToString().Substring(0,10)+"..":DataBinder.Eval(Container.DataItem,"Title")%>这个绝对可以,但是太复杂了点哈哈