<asp:Repeater ID="RepEventTop" runat="server">
<HeaderTemplate> <table></HeaderTemplate>
<ItemTemplate>
<tr>
<td style="width:60%;" align="left">
<%#DataBinder.Eval(Container.DataItem,[color=#0000FF]"Title" )%>[/color]
</td>
<td style="width:40%;" align="right">
<%#Databinder.Eval(container.DataItem ,"PointCount") %>
</td>
</tr>
</ItemTemplate>
<FooterTemplate></table></FooterTemplate>
</asp:Repeater>这是绑定的repeater控件
如果 绑定的Title列 的标题内容太长 会改变页面的布局
现在我想截取绑定的Title列(显示的字符串长度不超过20),应该怎么写代码
<HeaderTemplate> <table></HeaderTemplate>
<ItemTemplate>
<tr>
<td style="width:60%;" align="left">
<%#DataBinder.Eval(Container.DataItem,[color=#0000FF]"Title" )%>[/color]
</td>
<td style="width:40%;" align="right">
<%#Databinder.Eval(container.DataItem ,"PointCount") %>
</td>
</tr>
</ItemTemplate>
<FooterTemplate></table></FooterTemplate>
</asp:Repeater>这是绑定的repeater控件
如果 绑定的Title列 的标题内容太长 会改变页面的布局
现在我想截取绑定的Title列(显示的字符串长度不超过20),应该怎么写代码
解决方案 »
- 请教:asp.net2.0中使用了RSA加密,本地正常,传到网站后发生错误
- 请教下大家关于visual studio 2008中formview控件遇到的问题 ...
- VS2010安装出现Error 1310错误
- 关于GridView中的DropDownList
- 如何使LinkButton,使其只有能过验证了才打开新的页面?
- RMB求注入一个中型网站的子服务器(安全级别很次)
- 有关动态为DataGrid增加一行的问题
- 谁有eWebEditor asp.net版本的啊
- 数据删除的问题!!!不知是否要用递归
- Windows计划任务如何配置按照事件触发
- 不喜欢用控件的牛人进
- 敬请苏州.net同行关注,谢谢!在苏州做.net的工资多少啊???????
/// 标题长度过长时省略处理
/// </summary>
/// <param name="text"></param>
/// <param name="len"></param>
/// <returns></returns> protected string ShotCutText(string strText, int len)
{
if (strText.Length > len && len > 1)
{
return strText.Substring(0, len - 1) + "...";
}
return strText;
}.aspx
<%# ShotCutText(DataBinder.Eval(Container, "DataItem.Title").ToString(),20) %>
DataBinder.Eval(Container.DataItem,[color=#0000FF]"Title" ).ToString().SubString(0,20):
DataBinder.Eval(Container.DataItem,[color=#0000FF]"Title" )
public static string CutString(string inputString, int len)
{
Encoding encoding = Encoding.GetEncoding("GB2312");
byte[] buffer = encoding.GetBytes(inputString);
if (buffer.Length <= len)
return inputString;
else
return encoding.GetString(buffer, 0, len);
}
public string Sub(string index)
{
string titles;
if(index>20)
{
titles=index.substring(0,20)+"...";
}
else
{
titles=index;
}
}
然后在REapter 里面用这个方法绑定就OK了这个很简单
public static string CutString(string str, int length)
{
if (str == "")
{
str = "没有信息";
}
else
{
int i = 0, j = 0;
foreach (char chr in str)
{
if ((int)chr > 127)
{
i += 2;
}
else
{
i++;
}
if (i > length)
{
//str = str.Substring(0, j);
str = str.Substring(0, j) + "...";
break;
}
j++;
} }
return str;
}
/// 截取字符串(适用于中英文混合)
/// </summary>
/// <param name="str">原字符串</param>
/// <param name="len">长度</param>
/// <returns></returns>
public static string CutString(string str, int len)
{
str = str.Trim();
byte[] myByte = System.Text.Encoding.Default.GetBytes(str);
if (myByte.Length > len)
{
string result = "";
for (int i = 0; i < str.Length; i++)
{
byte[] tempByte = System.Text.Encoding.Default.GetBytes(result);
if (tempByte.Length < len)
{
result += str.Substring(i, 1);
}
else
{
break;
}
}
return result + "...";
}
else
{
return str;
}
}调用这个方法就可以了
select left(Title,20) as Title from table