//在rtf中插入处理的字符串 
public string getTagRtf(string text, string textColor, string textBgColor)
{
    StringBuilder rtfText = new StringBuilder();
    rtfText.Append(@"{\rtf1\ansi\ansicpg936\deff0\deflang1033\deflangfe2052");//rtf头 
    rtfText.Append(@"{\fonttbl{\f0\fnil\fcharset134\'cb\'ce\'cc\'e5;}}");//字体 
    rtfText.Append(@"{\colortbl;");//定义颜色 
    rtfText.Append(textColor);//文字颜色 
    rtfText.Append(@";");
    rtfText.Append(textBgColor);//文字背景颜色 
    rtfText.Append(@";}");
    rtfText.Append(@"{\*\generator Msftedit 5.41.21.2500;}\viewkind4\uc1\pard\highlight2\b\lang2052\f0\fs18");//文本体 
    rtfText.Append(text);//要显示的文本。 
    rtfText.Append(@"}");//rtf结尾//\par 
    string rtfcode = rtfText.ToString();
    return rtfcode;
}字符串操作,sber=new stringbuilder  getTagRtf是您给我回答过的一个构建操作Rtf字符串的方法
                       string js1 = rtftxt.getTagRtf(数据库取出的字符串文本, @"\red255\green0\blue0", @"\red255\green255\blue0");
                    string js2 = rtftxt.getTagRtf("aaaa", @"\red255\green0\blue0", @"\red255\green255\blue0");
                    sber.Append(js1);
                    sber.Append(js2);
                    string loadtxt = sber.ToString();为什么使用sber.append追加的后面的都没有,显示空白呢?无法显示js2的内容

解决方案 »

  1.   

    rtftxt是什么?你在哪里定义的?如果你改成StringBuilder builder = new StringBuilder();
            string js2 = getTagRtf("aaaa", @"\red255\green0\blue0", @"\red255\green255\blue0");
            builder.Append(js2);
            string loadtxt = builder.ToString();
            Response.Write(loadtxt);是肯定有值的,getTagRtf方法直接返回一个字符串
      

  2.   

    我让getTagRtf和字符串操作代码在同一单元运行是有数据的,你的rtftxt是不是一个自定义的类,你把他们放到同一单元试试
      

  3.   

    你dubug一下看看,
    string js1 = rtftxt.getTagRtf(数据库取出的字符串文本, @"\red255\green0\blue0", @"\red255\green255\blue0"); 
    问句:数据库取出的字符串文本不加""??
      

  4.   

    方法没问题,跟踪看看。用rtfText.Append(@"");