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()%> 

  • 相关阅读:
    ArrayList、Vector、LinkedList的区别联系?
    TFFS格式化到创建成功过程
    C语言中的far关键字
    Android编码规范05
    微信小程序开发总结
    1-2 Mobx 入门实践之TodoList(官方Demo)
    1-1、create-react-app 配置 mobx
    3-0 js基础 语言特性及性能优化
    2-9 js基础 cookie封装
    2-8 js基础 jsonp封装
  • 原文地址:https://www.cnblogs.com/suneryong/p/780802.html
Copyright © 2011-2022 走看看