是这样的前台
<asp:DataGrid ID ="VoteList" Runat="server" AutoGenerateColums="False" DataKey="VoteID">
<Columns>
 <asp:TemplateColumn HeaderText="项目">
<asp:TemplateColumn>
<ItemTemplate>
<%# DataBinder.Eva(Container.DataItem,"VoteItem")%>
</ItemTemplat>
</asp:TemplateColumn>
.......后台我用一个类得到了需要绑定的sqldatareader;
webvote vote = new webvote();
sqlDataReader dr = vote.GetVotes();
VoteList.DataSource = dr;
VoteList.DataBind();
dr.close();
请问我这个dr里面的voteItem字段输入的时候我是不希望限制字段。但是在显示的时候因为我给的格子比较小。所以我要限制字段长度。
请问如何可以??
比如我在以下,希望可以限制这个<%# DataBinder.Eva(Container.DataItem,"VoteItem")%> 长度必须为20个字符(也就是10个中文字符)。
请问如何处理非常紧急。谢谢

解决方案 »

  1.   

    写个限制字符的方法:
    protected string GetStrLength(string str,int len)
    {
      if (str.Length <len)
        return;
      str = str.substring(0,len);
      return;   
    }前台调用
    <%# GetStrLength(DataBinder.Eva(Container.DataItem,"VoteItem").ToString(),20)%>
      

  2.   

    protected string GetStrLength(string str,int len)
    {
      if (str.Length <len)
        return str;
      str = str.substring(0,len);
      return str;   
    }少打了一个str;
      

  3.   

    public static string CutString(string str,int num)
    {
    str=RemoveHTML(str);
    if(str.Length>num)
    {
    str=str.Substring(0,num)+"..";
    }
    return str;
    }
    public static string RemoveHTML(string strHTML)//去除HTML代码
    {
    System.Text.RegularExpressions.Regex Regexp=new System.Text.RegularExpressions.Regex("<.+?>");
    string strReturn=Regexp.Replace(strHTML,"");
    return strReturn;
    }