日期:2014-05-18  浏览次数:20384 次

repeater绑定的字段如何取固顶长度
HTML code

<asp:Repeater ID="rp1" runat="server">
        <ItemTemplate>
            <div class="one">
            <div class="logtop">
                <h1><a href='logindex.aspx?logid=<%#Eval("logid") %>' target="_self"><%#Eval("logtitle") %></a></h1>
                <h2>发表时间:<%#Eval("logtime") %></h2>
            </div>
            <div class="logcontent"><%#Eval("simcontent")%>...</div>
            <div class="logfooter">阅读(<%#Eval("readnum")%>)|评论(<%#Eval("comnum")%>)</div>
            </div>
        </ItemTemplate>
        </asp:Repeater>



我在h1里面绑定了字段logtitle ,也就是日志标题,并加了链接,但是logtitle取出来的日志标题可能会很长,怎么控制呢?比如说我要取标题的前20个字,其余的用...代替,如“CSDN.NET - 全球最大中文IT社...”,我该怎么改<%#Eval("logtitle") %>呢?

------解决方案--------------------
这不是通过截字出来的,而是样式控制的

width:200px; 
text-overflow:ellipsis; 
white-space:nowrap; 
overflow:hidden;
------解决方案--------------------
试试这个
<%#Eval("logtitle").ToString().Length<20?Eval("Logtitle"):Eval("logtitle").ToString().SubString(0,20)+"......" %>
------解决方案--------------------
直接在SQL中做就可以了。
可以参考一下。
select ( case when len(UTime) >4 then substring(UTime,0,4)+'...' else Utime end ) as 长度,*
FROM XXXX_Image WHERE (DR = 0)