2013-06-19 54 views
0

我在写因为我被困在一个问题上,我有代码,当前写入一个aspx页的输出到word文档。这段代码工作得很好。但是我需要将该文件实际保存到服务器。这里是工作的代码:Asp.net C#捕获输出到字符串

HttpContext.Current.Response.ContentType = "application/msword"; 
HttpContext.Current.Response.AddHeader("Content-Disposition", "inline;filename=IR-" + lblReportNumber.Text + ".doc"); 
HttpContext.Current.Response.Write(this.Page.ToString()); 

这里就是我试图做的就是理想的结果

string fileName = Path.Combine(Server.MapPath("~/"), "IR-" + lblReportNumber.Text + ".doc"); 
string page = this.Page.ToString(); 

的问题是,这是写入服务器.DOC文件只包含文本的页面名称,而不包含html的完整上下文。

因此,如果我从第二组代码中打开word文档,所有我看到的都是“clientpage.aspx”,但是第一个代码块会打开完全格式化的文档。

有没有人有任何想法?

+0

你的第一个代码,实际上并没有做任何事情。它只能起作用,因为ASP.Net将页面的其余部分写入响应。 – SLaks

回答

0

实际上你需要编写使用StreamWriter

的文件中像

using (System.IO.StreamWriter file = new System.IO.StreamWriter("filename") 
    { 
      file.WriteLine() 
    } 

在这里看到:http://msdn.microsoft.com/en-us/library/vstudio/8bh11f1k.aspx

+0

谢谢,这是我的新东西,所以我不清楚如何实现它。我如何将整个页面传递给Streamwriter? – JStellato