______格式化字符串
<%# DataBinder.Eval(Container.DataItem,"title" %>
怎样把绑定的数据截取指定的字符长度,不是指用这类方法:
ds.Tables("news").Rows(i)("NewsTitle").ToString.Length > 5
最好是能在前台加上格式化,或者在select查询语句中截取指定长度
谢谢前辈们
问题点数:30、回复次数:11Top
1 楼vvf023(努力)回复于 2005-11-08 19:59:23 得分 0
自己顶!Top
2 楼jxufewbt(我的目标是5星)回复于 2005-11-08 20:00:10 得分 10
<%# DataBinder.Eval(Container.DataItem,"title").ToString().Length>25?DataBinder.Eval(Container.DataItem,"title").ToString().Substring(0,25) + "...":DataBinder.Eval(Container.DataItem,"title") %>
Top
3 楼ChengKing((.net: http://blog.csdn.net/ChengKing ))回复于 2005-11-08 20:06:42 得分 15
<%# GetTop10(DataBinder.Eval(Container.DataItem,"title")) %>
protected string GetTop10(string strDemand)
{
string subDemand = strDemand;
//取需求前10个字串(如果需求长度小于十个,则取原串)
if(subDemand.Length > 10)
{
subDemand = subDemand.Substring(0,10) + "...";
}
string titleDemand = strDemand.Replace("<br>","\r\n").Replace(" "," ");
//加链接
string HtmlTitle = "<A title=\"" + titleDemand + "\" >" + subDemand + "</A>";
return HtmlTitle;
}Top
4 楼vvf023(努力)回复于 2005-11-08 20:44:43 得分 0
前辈,这个编译错误啊~~
谢谢Top
5 楼vvf023(努力)回复于 2005-11-08 20:50:57 得分 0
这个错误
<%# DataBinder.Eval(Container.DataItem,"title").ToString().Length>25?DataBinder.Eval(Container.DataItem,"title").ToString().Substring(0,25) + "...":DataBinder.Eval(Container.DataItem,"title") %>
Top
6 楼jxufewbt(我的目标是5星)回复于 2005-11-08 20:53:04 得分 0
把错误贴出来看看Top
7 楼vvf023(努力)回复于 2005-11-08 21:15:00 得分 0
我把 ChengKing(Enthusiasm Bigrosoft) 前辈的函数改了一下,出现了一件令人惊奇的事!!!!!
只能说是惊奇!!!
后台:
Protected Function GetTop20(ByVal strDemand As String) As String
Dim subDemand As String = strDemand
If subDemand.Length > 20 Then
subDemand = subDemand.Substring(0, 20) + "..."
End If
Return subDemand
End Function
前台:
<%# GetTop20(DataBinder.Eval(Container.DataItem,"newstopic")) %>
可是以后每当我在其它页面调用不加函数的<%# GetTop10(DataBinder.Eval(Container.DataItem,"title")) %>
都是被截断的!!!!!!!
这是什么原因呢??!?!?!
谢谢Top
8 楼libany(紫心灯—JANJA)回复于 2005-11-08 21:20:29 得分 5
自己写的函数就行了
下边有个,是别人写的,还不错
public string dotrim(string f2_lasttopic,int intlength)
{
if(f2_lasttopic=="")
{
return "null";//可以任意写
}
else
{
if(f2_lasttopic.Length>intlength)
{
return f2_lasttopic.Substring(0,intlength)+"..";
}
else
{
return f2_lasttopic;
}
}
}
Top
9 楼vvf023(努力)回复于 2005-11-08 21:24:07 得分 0
我把 ChengKing(Enthusiasm Bigrosoft) 前辈的函数改了一下,出现了一件令人惊奇的事!!!!!
只能说是惊奇!!!
后台:
Protected Function GetTop20(ByVal strDemand As String) As String
Dim subDemand As String = strDemand
If subDemand.Length > 20 Then
subDemand = subDemand.Substring(0, 20) + "..."
End If
Return subDemand
End Function
前台:
<%# GetTop20(DataBinder.Eval(Container.DataItem,"newstopic")) %>
可是以后每当我在其它页面调用不加函数的<%# GetTop10(DataBinder.Eval(Container.DataItem,"title")) %>
都是被截断的!!!!!!!
这是什么原因呢??!?!?!
谢谢
Top
10 楼vvf023(努力)回复于 2005-11-08 21:37:27 得分 0
啊!!!!晕啊!原来是我在其它地方用其它方法刚好也是截取了同样的效果!
呵呵Top
11 楼ChengKing((.net: http://blog.csdn.net/ChengKing ))回复于 2005-11-08 21:50:07 得分 0
:)Top




