怎么把新闻标题Title在前台显示一个长度 我用uc做了一个显示新闻标题,里面绑定用的Repeater 怎么在绑定Title 的时候显示长度一样的如果小于就用..表示 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 取数据的时候substring下,然后Replace 自己在后台定义一个Substring(string title)方法,绑定的时候<%#Substring(Eval("Title"))%> protected string Substring(string title) { if (title.Length>15) { title = title.Substring(0, 15) + "..."; } return title; } CSS控制 http://www.jb51.net/css/10022.html 他这个可以的 绑定的时候<%#Substring(Eval("Title").ToString())%> 2楼的方法绑定<%#Substring(Eval("Title").ToString())%> <%#Eval("Title").ToString().Length>15 ? Eval("Title").SubString(0,15)+"..." : Eval("Title")%> 绑定的时候<%#formattitle(Eval("Title"))%>后台定义方法Public string formattitle(object o){string s = o.ToString();if (s.Length>10){s = s.substring(0,10);}return s;} 修改一下:s=s.substring(0,10)+"..."; System.Data.DataRowView”不包含名为“Title”的属性。 出现这个问题了 绑定的时候<%#formattitle(Eval("Title").ToString())%> <%#Eval("Title").ToString().Length>15 ? Eval("Title").ToString().SubString(0,15)+"..." : Eval("Title")%>这个就行! 后台 数据是放在datatbel 里面的 出现了DataBinding:“System.Data.DataRowView”不包含名为“Title”的属性。 后台 数据是放在datatbel 里面的 出现了DataBinding:“System.Data.DataRowView”不包含名为“Title”的属性。 怎么解决? 直接用CSS另存为 htm文件看下效果:<style>span {display: block;width: 120px;overflow: hidden;/*注意不要写在最后了*/white-space: nowrap;-o-text-overflow: ellipsis;text-overflow: ellipsis;} </style><body><span>测试是多少大啊沙发飒飒大是多少</span></body> <%#Eval("Name").ToString().Length>10?Eval("Name").ToString().Substring(0,10)+"..":Eval("Name") %> title是字段名你要截取哪个就用哪个字段 SQL取数据的时候搞定case when LEN(title)>11 then LEFT(title,11)+'...' else title end as title <%#(DataBinder.Eval(Container.DataItem,"website").ToString().Length>20)? (DataBinder.Eval(Container.DataItem,"website").ToString().Substring(0,20))+"...": (DataBinder.Eval(Container.DataItem,"website") )%>数据太长截取 用CSS加三行样式就可以实现的 +1这个截取,加上CSS样式控制,长度正好占满行宽,然后再截取。否则就不截取。 /// <summary> /// 截取长度为length的字符串,剩下部分以...表示 /// 中文算两个字符 /// </summary> /// <param name="str"></param> /// <param name="length"></param> /// <returns></returns> public static string CutString(string str, int length) { if (!String.IsNullOrEmpty(str)) { if (length <= 0) { throw new Exception("The argument length can't be zero or negative!"); } int i = 0, j = 0; foreach (char chr in str) { if ((int)chr > 127) { i += 2; } else { i++; } if (i > length) { str = String.Format("{0}...", str.Substring(0, j)); break; } j++; } } else { str = String.Empty; } return str; } /// <summary> /// 截取半角字符串(一个全角字符按2长度计算),当截取的位置只到全角字符的一半时不会取到该全角字符 /// </summary> /// <param name="str">字符串</param> /// <param name="startIndex">开始截取位置</param> /// <param name="length">要截取的字符串长度</param> /// <param name="fillStr">当字符串长度超过要截过的长度时追加到字符串末尾</param> /// <returns></returns> public static string CutDBCString(string str, int startIndex, int length, string fillStr) { if (string.IsNullOrEmpty(str)) { return ""; } StringBuilder builder = new StringBuilder(); Encoding encoding = Encoding.GetEncoding("gb2312"); int num = 0; int num2 = startIndex + length; foreach (char ch in str) { if (num >= startIndex) { num += encoding.GetByteCount(ch.ToString()); if (num <= num2) { builder.Append(ch); goto Label_00FB; } int dBCLength = GetDBCLength(fillStr); int num4 = 0; while ((builder.Length > 0) && (num4 < dBCLength)) { int num5 = builder.Length - 1; string s = builder[num5].ToString(); num4 += encoding.GetByteCount(s); builder.Remove(num5, 1); } builder.Append(fillStr); break; } num += encoding.GetByteCount(ch.ToString()); Label_00FB: ; } return builder.ToString(); } public static int GetDBCLength(string str) { if (string.IsNullOrEmpty(str)) { return 0; } return Encoding.GetEncoding("gb2312").GetBytes(str).Length; } //调用的时候string str=CutDBCString("楼主我要分,快给分吧", 0, 10, "...")//输出结果为:楼主我... asp.net简单计数器 jquery 赋值 用continue还是break呢 问一cookie过期问题,各位GGJJ指教啊 datalist如何读取某一列的值?在线等 100分求一正则表达式。 22个表做查询,表和表之间没有任何关系.请大家帮忙 如何使网页打开时identity.name不管多长时间一直有效,而一关闭ie就使identity.name无效呢?(陕北吴旗娃) 来哦! 如何用鼠标点页面后如何取的DataGrid中指定单元格的值我没有找到相关的事件处理 如何获取嵌入我网页的服务器IP ASP.NET MVC3 微软官方都下载不了. 100分的题目,不多说...
protected string Substring(string title)
{
if (title.Length>15)
{
title = title.Substring(0, 15) + "...";
}
return title;
}
http://www.jb51.net/css/10022.html
绑定<%#Substring(Eval("Title").ToString())%>
后台定义方法
Public string formattitle(object o)
{
string s = o.ToString();
if (s.Length>10)
{
s = s.substring(0,10);
}
return s;
}
s=s.substring(0,10)+"...";
出现这个问题了
绑定的时候<%#formattitle(Eval("Title").ToString())%>
span {display: block;width: 120px;overflow: hidden;/*注意不要写在最后了*/white-space: nowrap;-o-text-overflow: ellipsis;text-overflow: ellipsis;}
</style>
<body>
<span>测试是多少大啊沙发飒飒大是多少</span>
</body>
<%#Eval("Name").ToString().Length>10?Eval("Name").ToString().Substring(0,10)+"..":Eval("Name") %>
你要截取哪个就用哪个字段
case when LEN(title)>11 then LEFT(title,11)+'...' else title end as title
数据太长截取
这个截取,加上CSS样式控制,
长度正好占满行宽,然后再截取。否则就不截取。
/// <summary>
/// 截取长度为length的字符串,剩下部分以...表示
/// 中文算两个字符
/// </summary>
/// <param name="str"></param>
/// <param name="length"></param>
/// <returns></returns>
public static string CutString(string str, int length)
{
if (!String.IsNullOrEmpty(str))
{
if (length <= 0)
{
throw new Exception("The argument length can't be zero or negative!");
} int i = 0, j = 0;
foreach (char chr in str)
{
if ((int)chr > 127)
{
i += 2;
}
else
{
i++;
}
if (i > length)
{
str = String.Format("{0}...", str.Substring(0, j));
break;
}
j++;
}
}
else
{
str = String.Empty;
} return str;
}
/// <summary>
/// 截取半角字符串(一个全角字符按2长度计算),当截取的位置只到全角字符的一半时不会取到该全角字符
/// </summary>
/// <param name="str">字符串</param>
/// <param name="startIndex">开始截取位置</param>
/// <param name="length">要截取的字符串长度</param>
/// <param name="fillStr">当字符串长度超过要截过的长度时追加到字符串末尾</param>
/// <returns></returns>
public static string CutDBCString(string str, int startIndex, int length, string fillStr)
{
if (string.IsNullOrEmpty(str))
{
return "";
}
StringBuilder builder = new StringBuilder();
Encoding encoding = Encoding.GetEncoding("gb2312");
int num = 0;
int num2 = startIndex + length;
foreach (char ch in str)
{
if (num >= startIndex)
{
num += encoding.GetByteCount(ch.ToString());
if (num <= num2)
{
builder.Append(ch);
goto Label_00FB;
}
int dBCLength = GetDBCLength(fillStr);
int num4 = 0;
while ((builder.Length > 0) && (num4 < dBCLength))
{
int num5 = builder.Length - 1;
string s = builder[num5].ToString();
num4 += encoding.GetByteCount(s);
builder.Remove(num5, 1);
}
builder.Append(fillStr);
break;
}
num += encoding.GetByteCount(ch.ToString());
Label_00FB: ;
}
return builder.ToString();
} public static int GetDBCLength(string str)
{
if (string.IsNullOrEmpty(str))
{
return 0;
}
return Encoding.GetEncoding("gb2312").GetBytes(str).Length;
}
//调用的时候
string str=CutDBCString("楼主我要分,快给分吧", 0, 10, "...")
//输出结果为:楼主我...