日期:2014-05-20  浏览次数:20478 次

DataBinder.Eval的简单问题,解决就给分!!!!!!!!!
前台用了DataList
<asp:DataList   ID= "Lib "   Runat= "server ">
    <ItemTemplate>
        <%#   DataBinder.Eval(Container.DataItem,   "Title ")   %>
    </ItemTemplate>
</asp:DataList>


<%#   DataBinder.Eval(Container.DataItem,   "Title ")   %> 的内容我只想要10个汉字,两个字母算一个汉字,如果不在后台处理,只在前台怎么弄,谢谢大家了!!!


------解决方案--------------------
原理是判断中英文的字符码值,中文算2个字符,英文1个。

public string CutString(string str, int length)
{
string delsqace = str.Trim();
int i = 0, j = 0;
foreach (char chr in delsqace)
{
if ((int)chr > 127)
{
i += 2;
}
else
{
i++;
}
if (i > length)
{
delsqace = delsqace.Substring(0, j) + "... ";
break;
}
j++;
}
return delsqace;

}