我想在首页显示指定长度的新闻标题,现在的代码是这样的:
<%# "javascript:newwin(\"shownews.aspx?id="+DataBinder.Eval(Container.DataItem,"id").ToString()+"\");" %>'应该如何修改啊??请帮忙!
解决即结帖.

解决方案 »

  1.   

    前台:
    <asp:datalist id="pt_zx" runat="server" Width="100%" Height="80px">
    <ItemTemplate>
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td width="5%"><img src="Images/dec.jpg" width="7" height="8">
    </td>
    <td width="95%"><a href='news/news.aspx?id=<%# DataBinder.Eval(Container.DataItem,"id").ToString() %>' target="_blank">
    <%# CutString1(DataBinder.Eval(Container.DataItem,"title").ToString(),12) %>
    </a>
    </td>
    </tr>
    </table>
    </ItemTemplate>
    </asp:datalist>
    后台:
    #region 控制string类型长度1
    public string CutString1(string str,int length)
    {
    string newString="";
    if(str!="")
    {
    if(str.Length>length)
    {
    newString=str.Substring(0,length)+"...";
    }
    else
    {
    newString=str;
    }  
    }
    return newString;
    }
    #endregion
      

  2.   


    select case when len(title)<=10 then title+'......' else left(title,18) end as title
      

  3.   

    看到一个简单方法:
    span.flow1{width:300px;overflow:hidden; text-overflow:ellipsis;white-space:nowrap;}没有问题:直接改width
      

  4.   

    <span class="flow1">
    <%# DataBinder.Eval(Container.DataItem,"NEW003") %>
    </span>
      

  5.   

    谢谢各位,太感谢大家了.完整的代码是这样的,能说说在下面的代码里怎么改吗?<div align="center"> <ASP:DataGrid id="MyList" 
        runat="server" 
        Width="400"
        GridLines="None"
        ShowFooter="false" 
        CellPadding="2"
        CellSpacing="1"
        Font-Name="宋体"
        Font-Size="8pt"
        EnableViewState="false"
        AutoGenerateColumns="false" 
     > <Columns> <asp:TemplateColumn> <ItemTemplate> <asp:HyperLink  Text='<%# FormatString(DataBinder.Eval(Container.DataItem,"biaoti").ToString())%>'  NavigateUrl='<%# "javascript:newwin(\"shownews.aspx?id="+DataBinder.Eval(Container.DataItem,"id").ToString()+"\");" %>' runat="server"/> 
                              <%# DataBinder.Eval(Container.DataItem, "shijian","{0:d}")%> </ItemTemplate> 
                  </asp:TemplateColumn> </Columns> </asp:DataGrid> </div>
      

  6.   

    cjjll(潇潇风雨) 的方法不错,可以试试,不过我还是认为在后台判断比较好一些
      

  7.   

    把<%# FormatString(DataBinder.Eval(Container.DataItem,"biaoti").ToString())%>换成
    <%# DataBinder.Eval(Container.DataItem,"biaoti").ToString().SubString(0,20)+"……"%>,这里是截取20字符,要截多少就看你的了,后面的用省略号代替。
      

  8.   

    fphuang(人在哈尔滨@net) 
    已经很不错拉
      

  9.   

    不好意思,考虑不全,改进一下
    <%# DataBinder.Eval(Container.DataItem,"biaoti").ToString().Length()>=20?DataBinder.Eval(Container.DataItem,"biaoti").ToString().SubString(0,20)+"……":DataBinder.Eval(Container.DataItem,"biaoti").ToString()%>
      

  10.   

    我也正好有这个问题
    谢谢alldim