zoukankan      html  css  js  c++  java
  • 绑定数据与截取的另外的一中写法

    新闻标题不能太长了啊.
    在ASP中可以用left(NewsTitle,11)
    在.NET中怎么写啊?
    请高手指点

    前台代码
    <%#DataBinder.Eval(Container.DataItem,"NewsTitle") %>
    修改为
    <%# myfunc(DataBinder.Eval(Container.DataItem,"NewsTitle")) %>
    后台代码
    protected string myfunc(object s)
      {
       return s.ToString().SubString(0,11);
      }
    哈楼上的好象还得加个判断吧,判断它的长度是否长于11
    public string myfunc(object s)
      {
       if(s.ToString().Length>11)
         {return s.ToString().SubString(0,11);}
        else
          {return s.ToString}
      }

    用substring直接截了,有点粗鲁,不如在断开的地方加上 ...
    方法如下
    在后台代码里写这样一个方法
    protected string cutstring(string inputstr,int len)
    {
    ASCIIEncoding asci=new ASCIIEncoding();
    int strlen=0;
    string str=null;
    byte [] s=asci.GetBytes(inputstr);
    for(int i=0;i<s.Length;i++)
    {
    if((int)s[i]==63)
    {
    strlen+=2;
    }
    else
    {
    strlen+=1;
    }
    try
    {
    str+=inputstr.Substring(i,1);
    }
    catch
    {
    break;
    }
    if(strlen>len)
    break;
    }
    byte[] mybyte=Encoding.Default.GetBytes(inputstr);
    if(mybyte.Length>len)
    {
    str+="…";
    }
    return str;
    }
    然后在datalist中写成如下的样子:
    <%#  cutstring(DataBinder.Eval(Container.DataItem, "NewsTitle", "{0}"),20) %>

    要是不想在后台定义函数也行,这样也可以:
    <%# DataBinder.Eval(Container.DataItem,"NewsTitle").ToString().Length>10?DataBinder.Eval(Container.DataItem,"NewsTitle").ToString().Substring(0,10)+"...":DataBinder.Eval(Container.DataItem,"NewsTitle").ToString()%>

    <%# (DataBinder.Eval(Container,"DataItem.NewsTitle")).ToString().Length >=11 ? (DataBinder.Eval(Container,"DataItem.NewsTitle")).ToString().PadRight(11).Substring(0,11) + "..." : (DataBinder.Eval(Container,"DataItem.NewsTitle")).ToString()%> 

  • 相关阅读:
    原生js 实现 map
    前端安全学习
    前端性能优化
    前端的跨域请求方法使用场景及各自的局限性
    7-7 12-24小时制(15 分)
    7-4 BCD解密(10 分)
    7-2 然后是几点(15 分)
    厘米换算英尺英寸
    鸡兔同笼
    数组:经典计数
  • 原文地址:https://www.cnblogs.com/suneryong/p/780802.html
Copyright © 2011-2022 走看看