如何在c#中保存HTML编辑器的HTML内容

时间:2017-12-14 14:47:28

标签: c# html

我使用此代码在c#中的HTML编辑器中打开HTML页面。

private void openToolStripMenuItem_Click(object sender, EventArgs e)
    {
        using (OpenFileDialog ofd = new OpenFileDialog() { Multiselect = 
false, ValidateNames = true, Filter = "HTML|*.html" })


            if (ofd.ShowDialog() == DialogResult.OK)
            {
                textBox1.Text = ofd.FileName;
                FileStream fs = new FileStream(ofd.FileName, FileMode.Open, FileAccess.Read);
                webBrowser1.DocumentStream = fs;

            }
    }

我还使用此代码保存更改

 private void saveToolStripMenuItem_Click(object sender, EventArgs e)
    {
        SaveFileDialog svf = new SaveFileDialog();
        svf.Filter = "Text Files (.html)|*.html";

        if (svf.ShowDialog() == DialogResult.OK)
        {
            System.IO.StreamWriter sw = new System.IO.StreamWriter(svf.FileName);

            sw.WriteLine(webBrowser1);
            sw.Close();
        }
    }

但是,我的HTML页面中保存的唯一行是此消息:System.Windows.Forms.WebBrowser。 您是否知道如何保存HTML页面的内容?感谢

1 个答案:

答案 0 :(得分:1)

以下内容应按您的要求运作:

System.IO.StreamWriter sw = new System.IO.StreamWriter(svf.FileName); webBrowser1.DocumentStream.CopyTo(sw.BaseStream); sw.Flush(); sw.Close();

你的工作不起作用的原因是因为你试图直接将一个对象写入一个流,正如所述隐含地调用了ToString()方法。