如何限制文章标题长度?
如题,要求是在vs2005 环境下,还有sql server2005作为数据库。
------解决方案--------------------搂住这个应该可以用吧 !
protected string CutString(string str,int length)
{
string newString= " ";
if(str!= " ")
{
if(str.Length> length)
{
newString=str.Substring(0,length)+ "... ";
}
else
{
newString=str;
}
}
return newString;
}
调用方法:
string str= "根据需要对字符串进行指定长度的截取 ";
str=CutString(str,10);
如果你在asp.net中,想在数据列表控件(如:DataGrid,DataList,Repeater等)中使用,实现类似上面所描述的新闻列表的效果,你可以这样写:
<%# CutString(DataBinder.Eval(Container.DataItem, "NewTitle ").ToString(),16) %>
------解决方案--------------------#region 截短字串的函数,分区中英文
/// <summary>
/// 截短字串的函数
/// </summary>
/// <param name= "mText "> 要加工的字串 </param>
/// <param name= "byteCount "> 长度 </param>
/// <returns> 被加工过的字串 </returns>
public static string Left(string mText, int byteCount)
{
if (byteCount < 1) return mText;
if (System.Text.Encoding.Default.GetByteCount(mText) <= byteCount)
{
return mText;
}
else
{
byte[] txtBytes = System.Text.Encoding.Default.GetBytes(mText);
byte[] newBytes = new byte[byteCount - 4];
for (int i = 0; i < byteCount - 4; i++)
{
newBytes[i] = txtBytes[i];
}
return System.Text.Encoding.Default.GetString(newBytes) + "... ";
}
}
#endregion