string content = content.Replace("[BMC:title]", dsNews.Tables[0].Rows[0]["title"].ToString());"[BMC:title]", 这个是 一个生成静态的时候的显示标签  不用管。关键就是 content 的值太长的时候 怎么截取 content = 关于网站建设搜索引擎目标层次的一些知识 红色部分我想用 ...... 省略号来表示。
   但是 我用 substring  (0, 30) 的话。当这个 字符小于了 30的时候 索引就会出错 这样的问题 我怎么处理呢。
   最后 鞠躬感谢。

解决方案 »

  1.   

    使用三元运算符string content = content.Replace("[BMC:title]", dsNews.Tables[0].Rows[0]["title"].ToString().Length>=30?dsNews.Tables[0].Rows[0]["title"].ToString().Substring(0,30)+"...":dsNews.Tables[0].Rows[0]["title"].ToString());
      

  2.   

    可以对content.length先做个判断 。
      

  3.   


     string content = content.Replace("[BMC:title]", dsNews.Tables[0].Rows[0]["title"].ToString()).Length>30?content.Replace("[BMC:title]", dsNews.Tables[0].Rows[0]["title"].ToString()).Substring(0,30):content.Replace("[BMC:title]", dsNews.Tables[0].Rows[0]["title"].ToString());
      

  4.   

    我觉得你是要实现这个功能<div id="hutia">我是那传说中很长很长一段的文字,作者hutia。我是那传说中很长很长一段的文字,作者hutia。我是那传说中很长很长一段的文字,作者hutia。我是那传说中很长很长一段的文字,作者hutia。我是那传说中很长很长一段的文字,作者hutia。我是那传说中很长很长一段的文字,作者hutia。我是那传说中很长很长一段的文字,作者hutia。我是那传说中很长很长一段的文字,作者hutia。我是那传说中很长很长一段的文字,作者hutia。我是那传说中很长很长一段的文字,作者hutia。我是那传说中很长很长一段的文字,作者hutia。我是那传说中很长很长一段的文字,作者hutia。我是那传说中很长很长一段的文字,作者hutia。我是那传说中很长很长一段的文字,作者hutia。</div>
    <script>
    (function(){
      var o = document.getElementById("hutia");
      var s = o.innerHTML;
      var p = document.createElement("span");
      var n = document.createElement("a");
      p.innerHTML = s.substring(0,10);
      n.innerHTML = s.length > 10 ? "..." : "";
      n.href = "###";
      n.onclick = function(){
        if (n.innerHTML == "..."){
          n.innerHTML = "收起";
          p.innerHTML = s;
        }else{
          n.innerHTML = "...";
          p.innerHTML = s.substring(0,10);
        }
      }
      o.innerHTML = "";
      o.appendChild(p);
      o.appendChild(n);
    })();
    </script>试一试没问题的
      

  5.   

    content.length>30?content.Substring(0,30)+"...":content;
      

  6.   

    用正则表达式            string content = "sdafsaffffffffffffffffffffffffffffffffffffffffffffffffffffffsd";            content = Regex.Replace(content, "(?<=.{30}).*", "...");            Console.WriteLine(content);