当前位置:编程学习 > C#/ASP.NET >>

datalist截取字符串问题

我在datalist中包含linkbutton按钮作为链接,我bind后怎么截取linkbutton的text值呢?以下是我的代码老是提示“索引和长度必须引用该字符串内的位置。
参数名: length”                      这个错误,代码如下:
      protected void dlnews_ItemDataBound(object sender, DataListItemEventArgs e)
        {
          if (((LinkButton)e.Item.Controls[0].FindControl("lbtntitle")).Text.Length>5)
           {
              ((LinkButton)e.Item.Controls[0].FindControl("lbtntitle")).Text = ((LinkButton)e.Item.Controls[0].FindControl("lbtntitle")).Text.Substring(0, 5) + "...";
               
            }
        } --------------------编程问答-------------------- 检查你的
((LinkButton)e.Item.Controls[0].FindControl("lbtntitle")).Text

这个文本小于5 --------------------编程问答-------------------- if (((LinkButton)e.Item.Controls[0].FindControl("lbtntitle")).Text.Length>5)
检查下判断 --------------------编程问答-------------------- 要先判断字符串的长度,如果没有超过5的长度就不处理


/// <summary>
        /// 截断长字符串
        /// </summary>
        /// <param name="str">原始字符串</param>
        /// <param name="length">字符串保留长度</param>
        /// <returns>处理后的字符串</returns>
        public static string CutLongString(string str, int length)
        {
            if (str.Length <= length)
            {
                return str;
            }
            return str.Substring(0, length) + "...";
        }


  --------------------编程问答-------------------- LinkButton)e.Item.Controls[0].FindControl("lbtntitle")).Text

必须非null --------------------编程问答--------------------
引用 3 楼 tao145 的回复:
/// <summary>
        /// 截断长字符串
        /// </summary>
        /// <param name="str">原始字符串</param>
        /// <param name="length">字符串保留长度</param>
        /// <returns>处理后的字符串</returns>
        public static string CutLongString(string str, int length)
        {
            if (str.Length <= length)
            {
                return str;
            }
            return str.Substring(0, length) + "...";
        }


 最好是后台判断一下,要不就是后台在录入的时候,多加一个字段
专门存放这几个关键词的,到取的时候也不在进行截取了!!

--------------------编程问答-------------------- return str.Length > count ? str.Substring(0, count) : str; --------------------编程问答-------------------- 三元运算符 判断就完了  --------------------编程问答-------------------- --------------------编程问答--------------------
引用 8 楼 amandag 的回复:
C# code
    protected void dlnews_ItemDataBound(object sender, DataListItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.Item
            || e.Item.ItemType == ListItemType.Altern……

+1
判断length之前,再判断一下null --------------------编程问答-------------------- 如果只是做 链接的话,建议用 hyperlink 
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,