关于字符串处理问题ASP.NET(C#) 我是用DataGrid绑定数据库的比如数据表中有个字段为title我想实现这样的状态:当title的长度大于15的时候我就让它输出15个在后面加"..."反之,则原样输出不知道怎么解决,找了很多函数,用不上,帮帮我啊,谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1.前台 <asp:TemplateColumn> <ItemStyle HorizontalAlign="Left" Wrap="true"></ItemStyle> <ItemTemplate> <asp:Label runat="server" Text='<%# GetDemand(DataBinder.Eval(Container, "DataItem.demand").ToString())%>'> </asp:Label> </ItemTemplate> </asp:TemplateColumn>2.后台protected string GetDemand(string strDemand) { string subDemand = strDemand; //取前10个字串(如果需求长度小于十个,则取原串) if(subDemand.Length > 15) { subDemand = subDemand.Substring(0,15) + "..."; } string titleDemand = strDemand.Replace("<br>","\r\n").Replace(" "," "); string HtmlTitle = "<A title=\"" + titleDemand + "\" >" + subDemand + "</A>"; return HtmlTitle; } <asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.demand").ToString().Length>15?DataBinder.Eval(Container, "DataItem.demand").ToString().SubString(0,15) + "...":DataBinder.Eval(Container, "DataItem.demand")%>'> <asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.demand").ToString().Length>15?DataBinder.Eval(Container, "DataItem.demand").ToString().SubString(0,15) + "...":DataBinder.Eval(Container, "DataItem.demand")%>'> 在绑定页面如下写<%# myCutString(Convert.ToString(DataBinder.Eval(Container, "DataItem.strbrc_type"))) %>在后台写个函数如下:/// <summary>/// 截取以字节计算的文本长度/// </summary>/// <param name="msytr">要截取的文本串</param>/// <param name="intLength">要截取的字节数</param>/// <returns>返回截取的字节数</returns>public string myCutString(string mystr,int intLength){ Byte[] myByte = System.Text.Encoding.Default.GetBytes(mystr); string str = ""; if(myByte.Length < intLength) { str = mystr; } else { str = System.Text.Encoding.Default.GetString(myByte,0,intLength); switch(System.Text.Encoding.Default.GetByteCount(mystr) - intLength) { case 1: str += ".."; break; case -1: str += "..."; break; default: break; } } return(str);} 在绑定页面如下写<%# myCutString(Convert.ToString(DataBinder.Eval(Container, "DataItem.strbrc_type"))) %>看了这句,我又提高了一点,今天算是没白活了 求关于IE8的打印预览初始值设定问题 水晶报表的打印功能的实现 求个VS2010RDLC钻取报表的简单例子代码 一个登录框验证多种角色用户。 3个div怎么就分不开呢,我有一个gridview 和一个iframe DropDownList如何动态绑定到DetailsView字段 ¥¥¥¥¥¥¥¥¥¥¥救命,为什么我做的控件里的层不会随屏移动(慕白救救命吧) 请教存储过程的多个输出 关于repeater绑定数据的问题 ASPX网页运行非常慢,你们是不是也有此类问题 如何得到网站根目录 ASP.NET学习
<asp:TemplateColumn>
<ItemStyle HorizontalAlign="Left" Wrap="true"></ItemStyle>
<ItemTemplate>
<asp:Label runat="server" Text='<%# GetDemand(DataBinder.Eval(Container, "DataItem.demand").ToString())%>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
2.后台
protected string GetDemand(string strDemand)
{
string subDemand = strDemand;
//取前10个字串(如果需求长度小于十个,则取原串) if(subDemand.Length > 15)
{
subDemand = subDemand.Substring(0,15) + "...";
}
string titleDemand = strDemand.Replace("<br>","\r\n").Replace(" "," ");
string HtmlTitle = "<A title=\"" + titleDemand + "\" >" + subDemand + "</A>"; return HtmlTitle;
}
<%# myCutString(Convert.ToString(DataBinder.Eval(Container, "DataItem.strbrc_type"))) %>在后台写个函数如下:
/// <summary>
/// 截取以字节计算的文本长度
/// </summary>
/// <param name="msytr">要截取的文本串</param>
/// <param name="intLength">要截取的字节数</param>
/// <returns>返回截取的字节数</returns>
public string myCutString(string mystr,int intLength)
{
Byte[] myByte = System.Text.Encoding.Default.GetBytes(mystr);
string str = "";
if(myByte.Length < intLength)
{
str = mystr;
}
else
{
str = System.Text.Encoding.Default.GetString(myByte,0,intLength);
switch(System.Text.Encoding.Default.GetByteCount(mystr) - intLength)
{
case 1:
str += "..";
break;
case -1:
str += "...";
break;
default:
break;
}
}
return(str);
}
<%# myCutString(Convert.ToString(DataBinder.Eval(Container, "DataItem.strbrc_type"))) %>
看了这句,我又提高了一点,今天算是没白活了