1

我目前正在为我的项目使用 CKEditor 来读取和显示 html 文件的内容。

但是,我得到的不是文件的内容,而是一个字符串: <html> 在编辑器中显示。

但是如果我使用 response.write 将内容直接写入页面,那么文件的所有内容都会正确显示。

这是我用来读取文件的代码片段:

    strPathToConvert = Server.MapPath("~/convert/");
    object filetosave = strPathToConvert + "paper.htm";
    StreamReader reader = new StreamReader(filetosave.ToString());
    string content = "";
    while ((content = reader.ReadLine()) != null)
    {
        if ((content == "") || (content == " "))
        { continue; }
        CKEditor1.Text = content;
        //Response.Write(content);
    }

有人可以帮我解决这个问题吗?非常感谢。

4

1 回答 1

2

您处于一个while循环中,并且每次都覆盖 CKEditor 的内容,因为您使用=而不是+=. 你的循环应该是:

StreamReader reader = new StreamReader(filetosave.ToString());
string content = "";
while ((content = reader.ReadLine()) != null)
{
    if ((content == "") || (content == " "))
    { continue; }
    CKEditor1.Text += content;
    //Response.Write(content);
}

更好的方法可能是使用

string content;
string line;
using (StreamReader reader = new StreamReader(filetosave.ToString())
{
    while ((line= reader.ReadLine()) != null) 
    {
        content += line;
    }
}
CKEditor1.Text = content;
于 2013-04-12T20:56:25.667 回答